Termux, motores de js y pdfs

Termux, motores de javascript y pdfs Últimamente estoy usando mucho un software llamado Termux. Es como un mini sistema Linux que puedes instalar en Android (Recomendado 7.0+). Puedes instalar mucho software a parte del que te trae preinstalado.

El software que más me interesa es elrelacionado con .apk java, javascript, php, python y herramientas de pentesting. Muy útil todo para programar y trastear con aplicaciones ya hechas.

También probé con varios motores de javascript, ya que busco uno mini que me permita tener un nucleo sobre el que poder escribir diversos malware y compilarlo para múltiples plataformas. No dispongo de pc y mi Smartphone no se puede rootear sin PC, asique tengo bastantes problemas con los motores de javascript que he probado. (Quickjs, tinyjs y un versión de tinyjs rescrita en python). Buscando sobre malware me encontré algunos artículos que hablaban sobre el malware en los .pdf

Sé de siempre que los attchments es de las formas mas comunes de distribución de malware, tengo muchos PDF asique me puse a buscar algo de info e hice un script en javascript para node.js super simple para extraer los objetos de los pdf.

Es muy cutre, lo hice en 10 minutos pero os lo comparto por si quereis trastear:

console.log("Renombra tu pdf a check.pdf y ponlo en la misma carpeta que este programa.");

const fs = require('fs');

console.log("Arrancado nodejs");

function PDFCHECK() {
let contenido = 0;
CargarArchivo();

function CargarArchivo() {
  console.log("Cargando Archivo");
  fs.readFile("./check.pdf", "utf8", function(err, contents) {
    console.log("Volcando contenido");
    contenido = contents;
    AnalizarPDF(contenido);
    });
  }

  function AnalizarPDF(contenido) {
  console.log("AnalizandoPDF");
  let c = contenido.toString();
  let contenidoPT = c.length;
  let pdfobjs = "";
  let body=0;
  let interesante = "";
  let inter=0;
 
/* Get text between obj obj keywords and get text between << >> */
  for(var i = 0; i < contenidoPT; ++i) {
    if(c[i]=="o"&&c[i+1]=="b"&&c[i+2]==" j") {
      body=1;
    }
    if(c[i+2]=="o"&&c[i+3]=="b"&&c[i+4]=="j") {
      body=0;
    }
    if(body) {
      pdfobjs+=c[i+2];
    }
    if(c[i]=="<"&&c[i+1]=="<") {
      inter=1;
    }
    
    if(c[i]==">"&&c[i+1]==">") {
      inter=0;
      interesante+="\n\n";
     }
    if(inter) {
      interesante+=c[i+1]
    }      
  }
contenido = "Objetcs found:\n\n" + pdfobjs + "\n\n\n\n\nStuff you may want to look at:\n\n" + interesante;
console.log(contenido);

fs.writeFile("RESULTADO.txt", contenido, function(err) {
  if(err) {
    return console.log(err);
  } 
 console.log("El análisis se guardo correctamente como RESULTADO.txt");
});

console.log("Analisis Finalizado! RESULTADO.txt generado");
}


  
}
PDFCHECK();


Teneis que ponerle de nombre check.pdf al pdf a analizar, lo meteis en la misma carpeta que el script y lo correis con node.

node script.js

Seguiré investigando sobre scripts en los .pdf que es algo interesante!

Comentarios

Entradas populares