Script de instalación de TOR

d
Autor: Anonymous Mexico
Twitter: @MexicanH @Anonymousmexi @rofl4all @Anon_yuc
Descripcion: Script que automatiza la instalación de Tor

#!/bin/sh

colorise=1

print_welcome ()
{

echo " 
 
  @@@@@@  @@@  @@@ @@@@@@@  @@@@@@  @@@ @@@  @@@  @@@@@@ @@@@@@@  @@@@@@  @@@      @@@     
 @@!  @@@ @@!  @@@   @@!   @@!  @@@ @@! @@!@!@@@ !@@       @@!   @@!  @@@ @@!      @@!     
 @!@!@!@! @!@  !@!   @!!   @!@  !@! !!@ @!@@!!@!  !@@!!    @!!   @!@!@!@! @!!      @!!     
 !!:  !!! !!:  !!!   !!:   !!:  !!! !!: !!:  !!!     !:!   !!:   !!:  !!! !!:      !!:     
  :   : :  :.:: :     :     : :. :  :   ::    :  ::.: :     :     :   : : : ::.: : : ::.: :
  
Coded By: Anonymous Mexico
Twitter: @MexicanH @Anonymousmexi @rofl4all @Anon_yuc
"
}

get_test_url ()
{
echo "Antes de instalar tor, tienes que escribir el nombre de tu distribucion:\n"
echo " Debian unstable (sid) is "'sid'" "
echo " Debian testing is "'wheezy'" "
echo " Debian 6.0 (squeeze) is "'squeeze'""
echo " Debian 5.0 (lenny) is "'lenny'""
echo " Ubuntu 12.04 is "'precise'" "
echo " Ubuntu 11.10 is "'oneiric'""
echo " Ubuntu 11.04 is "'natty'""
echo " Ubuntu 10.10 or Trisquel 4.5 is "'maverick'""
echo " Ubuntu 10.04 or Trisquel 4.0 is "'lucid'""
echo " Ubuntu 9.10 or Trisquel 3.5 is "'karmic'""
echo " Ubuntu 8.04 is "'hardy'"\n"
  echo "distribucion : "
  read  distribucion
  echo 
echo "deb  http://deb.torproject.org/torproject.org $distribucion main" >> /etc/apt/sources.list
clear scr
echo "[*] Instalando las llaves...."
gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
echo "Done!!"
clear scr
echo "[*] Actualizando repositorios...."
apt-get update
clear scr
echo "[*] Instalando paquetes deb"
apt-get install deb.torproject.org-keyring
echo "[*] Done!!"
clear scr
echo "[*] Instalando TOR, Privoxy, & Polipo"
apt-get install tor
echo "[*] Done!!"
apt-get install privoxy
echo "[*] Configurando privoxy"
echo "forward-socks4a / 127.0.0.1:9050 . " >> /etc/privoxy/config
apt-get install polipo
echo "[*] Configurando polipo"
cd /etc/polipo/
rm  config > /dev/null
wget --output-document=config http://www.pps.univ-paris-diderot.fr/~jch/software/polipo/config.sample 
echo "Done!!"
echo "Tor ha sido instlado satisfactoriamente."

}

if [ "$colorise" = 1 ]; then print_welcome  ; fi ;
get_test_url
Leer más...

Script Python para generar ficheros LDIF de usuarios

d
Nombre: usuariosGenerarLDIF.py
Autor: Juan Luis García
Descripción: Proceso automatizado de creación de un fichero LDIF que podría servir para dar de alta masivamente a un grupo de usuarios cuyos datos estuvieran almacenados en un fichero csv.
Visto en LDAP Config
#! /usr/bin/env python

# Generar fichero LDIF de usuarios
# CC 2011: Juan Luis Garcia para www.ldapconfig.net 
# juanluisga@ldapconfig.net

# MODULOS
import csv,random,base64,hashlib,ldap,unicodedata,argparse

# FUNCIONES
def filtrarCaracteresEspeciales(cadena):
    return ''.join((c for c in unicodedata.normalize('NFD', unicode(cadena,'UTF8')) if unicodedata.category(c) != 'Mn'))
 
def generarPassword(identificador):
    letrasMin = "abcdefghijklmnopqrstuvwxyz"
    letrasMay = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    numeros = "1234567890"
    especiales="!@#$%&=;."
    secuencia = letrasMin + letrasMay + numeros + especiales
    cadena = ""
    for i in range(8):
       cadena = cadena + random.choice(secuencia)
    k = hashlib.md5(cadena)
    encriptada = k.digest()
    encriptada = "{MD5}" + base64.standard_b64encode(encriptada)
    return cadena,encriptada
    
def conflictoLDAP(host,base,identificador):
    directorio = ldap.open(host)
    directorio.set_option(ldap.OPT_PROTOCOL_VERSION,ldap.VERSION3)
    result_id = directorio.search(base,ldap.SCOPE_SUBTREE,"uid="+identificador)
    result_type, result_data = directorio.result(result_id,0)
    if result_type == ldap.RES_SEARCH_ENTRY:
        return True
    else:
        return False
    
        
# DEFINICION DE PARAMETROS
parser = argparse.ArgumentParser(description="Generar fichero LDIF de usuarios")

parser.add_argument("-f","--ficheroEntrada",action="store",dest="ficheroEntrada",type=str,default="nuevos.csv",help="(Por defecto: nuevos.csv) Fichero en formato csv con los datos de los usuarios. Usar punto y coma ';' como separador y sin delimitacion de campos. Formato: Nombre;Apellidos;uid;departamento ")
parser.add_argument("-s","--servidorLDAP", action="store", dest="servidorLDAP",type=str, default="localhost",help="(Por defecto: localhost) Servidor LDAP sobre el que se cargaran el fichero LDIF generado.")
parser.add_argument("-b","--baseDN", action="store", dest="baseDN",type=str,default="dc=ldapconfig,dc=net",help="(Por defecto: dc=ldapconfig,dc=net) Sufijo del directorio LDAP. ")
parser.add_argument("-u","--uidNumberInicial", action="store", dest="uidNumberInicial", type=int,default=101,help="(Por defecto: 101) Primer uidNumber disponible a partir del cual se numeran las nuevas entradas.")

parametros = parser.parse_args()

ficheroEntrada = parametros.ficheroEntrada
servidorLDAP = parametros.servidorLDAP
baseDN = parametros.baseDN
uidNumberInicial = parametros.uidNumberInicial

rutaFicheros = "./"

ficheroLDIF = rutaFicheros + "usuarios.ldif"
ficheroUsuarios = rutaFicheros + "usuarios.csv"
ficheroConflictos = rutaFicheros + "usuarios.log"

fEntrada = open(ficheroEntrada,"rb")
fLDIF = open(ficheroLDIF,"wb")
fUsuarios = open(ficheroUsuarios,"wb")
fConflictos = open(ficheroConflictos,"wb")

rEntrada = csv.reader(fEntrada,delimiter=";")
wUsuarios = csv.writer(fUsuarios,delimiter=";")
wConflictos = csv.writer(fConflictos,delimiter=";")

uidNumber = uidNumberInicial - 1

wUsuarios.writerow(["APELLIDOS","NOMBRE","UID","PASSWORD"])
wConflictos.writerow(["UID","MOTIVO"])


for index,row in enumerate(rEntrada):
    nombre = row[0]
    apellidos = row[1]
    uid = row[2]
    departamento = row[3]
        
    if (conflictoLDAP(servidorLDAP,baseDN,uid)):
        wConflictos.writerow([uid,"Ya existe la cuenta"])
    else:
        password = generarPassword(uid)
        uidNumber = uidNumber + 1
        
        # ESCRIBE EN EL FICHERO DE USUARIOS
        wUsuarios.writerow([apellidos,nombre,uid,password[0]])
                
        # ESCRIBE EN FICHERO LDIF
        fLDIF.write("dn: uid=" + uid + ",ou=usuarios,ou=" + departamento + "," + baseDN + "\n")
        fLDIF.write("objectClass: inetOrgPerson\n")  
        fLDIF.write("objectClass: posixAccount\n")        
        fLDIF.write("cn: " + nombre + "\n") 
        fLDIF.write("sn: " + apellidos + "\n")
        fLDIF.write("displayName: "+ nombre + " " + apellidos + "\n")
        fLDIF.write("uid: " + uid + "\n")
        fLDIF.write("homeDirectory: /home/" + uid + "\n")        
        fLDIF.write("uidNumber: " + str(uidNumber) + "\n")
        fLDIF.write("gidNumber:1001\n")
        fLDIF.write("userPassword: " + password[1] + "\n")
        fLDIF.write("\n");
        
fEntrada.close()
fLDIF.close()
fUsuarios.close()
fConflictos.close()   
Más información del script en el sitio del autor: LDAP Config
Leer más...

nslookup.sh

d
Nombre: nslookup.sh
Autor: Omar A. Orozco @csimxnet @oorozcoo
Descripción: Script que permite usar nslookup de 10 maneras diferentes automatizando su uso
#!/bin/sh
#Fecha: 26 de Julio de 2012
#Autor: Omar A. Orozco
#Twitter: @csimxnet @oorozcoo
#Website: www.csimx.net
#Version: 0.1
#Fecha de modificacion:
#


while [ "$OPCION" != "0" ]; do
  echo ""
  echo "          Menu         "
  echo "      -----------      "
  echo "  1. Simple NSLookup"
  echo "  2. Query the MX Record"
  echo "  3. Query the NS Record"
  echo "  4. Query the SOA Record"
  echo "  5. View Available DNS Records"
  echo "  6. Reverse DNS lookup"
  echo "  7. Using Specific DNS Server"
  echo "  8. Change the port number to connect with"
  echo "  9. Change timeout interval to wait for a reply"
  echo "  10. Enabling debug mode"
  echo "  0. Salir"
  echo -e "\n  Elige una opcion"
    read OPCION

  case $OPCION in
    1) 
      echo
      echo -e "\nIngresa el dominio o la IP"
      read DOMAIN
      nslookup $DOMAIN
      ;;
    2)
      echo
      echo -e "\nIngresa el dominio o la IP"
      read DOMAIN
      nslookup -query=mx $DOMAIN
      ;;
    3)
      echo
      echo -e "\nIngresa el dominio o la IP"
      read DOMAIN
      nslookup -type=ns $DOMAIN
      ;;
    4)
      echo
      echo -e "\nIngresa el dominio o la IP"
      read DOMAIN
      nslookup -type=soa $DOMAIN
      ;;
    5)
      echo
      echo -e "\nIngresa el dominio o la IP"
      read DOMAIN
      nslookup -type=any $DOMAIN
      ;;
    6)
      echo
      echo -e "\nIngresa el dominio o la IP"
      read DOMAIN
      nslookup $DOMAIN
      ;;
    7)
      echo
      echo -e "\nIngresa el dominio o la IP"
      read DOMAIN
      echo -e "\nIngresa el servidor DNS a utilizar"
      echo -e "\nEjemplo 8.8.8.8 o ns1.ejemplo.com"
      read SERVER
      nslookup $DOMAIN $SERVER
      ;;
    8)
      echo
      echo -e "\nIngresa el dominio o la IP"
      read DOMAIN
      nslookup -query=mx $DOMAIN
      ;;
    9)
      echo
      echo -e "\nIngresa el dominio o la IP"
      read DOMAIN
      nslookup -timeout=10 $DOMAIN
      ;;
    10)
      echo
      echo -e "\nIngresa el dominio o la IP"
      read DOMAIN
      nslookup -debug $DOMAIN
      ;;
  esac
done
echo "----------------"
echo "Hasta Pronto!!"
echo "----------------"

Leer más...