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ú

Temas - Bartz

#1
Al querer abrir la windows store solo muestra lo siguiente



Probé bajarme un archivo ".Appx" que intenta abrirlo con la windows store y muestra lo siguiente



Mi version de windows



Me gustaria dar mas detalles sobre el problema pero no los tengo.
Probé buscar los codigo de error que aparecen en ambas imagenes y correr algunos scripts en powershell de soluciones oficiales del MSDN de microsoft pero nada ha dado resultado.

[UPDATE]
Probé haciendo lo siguiente y al reinstalarla tengo el mismo problema

Encontrar nombre de la store
Get-AppxPackage -AllUsers | findstr -i "Store"

Eliminarla
remove-appxpackage Microsoft.WindowsStore_118blablabla

Agregarla
Get-AppxPackage -allusers Microsoft.WindowsStore | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}



Si alguien sabe como solucionarlo o decirme sobre que investigar se lo agradeceria

Saludos !
#2
Hola gente !

Alguna recomendación en cuanto a una base de datos y como instalarla para usar con python ?

Uso Debian como sistema, estoy intentando instalar PostgreSql pero se me esta dificultando aun siguiendo al pie de la letra la documentación oficial (que no es de demasiada ayuda jaja)

Saludos !
#3
"Hecho por mi" dice el titulo ? hm... en realidad solo estoy usando la libreria system para utilizar Rsync de una manera mas comoda :D

En mi caso, tengo un disco externo en el cual backupeo todas mis cosas.
Tengo la misma estructura de archivos en ambos discos, y lo que me es MUY comodo en este caso es que el script reconoce los archivos que fueron modificados y/o eliminados y efectua esos cambios en la carpeta de destino.

Es decir, tengo una copia exacta de los cambios que he hecho en mis archivos.
Lo que elimine me lo elimina del backup, lo que agregue lo agrega y lo que modifique lo modifica :D Genial !

Tambien esta la opcion para que no elimine los archivos que hemos quitado de la carpeta de origen y simplemente copiar los archivos nuevos que no existan en nuestro backup pero sin eliminar los que hemos eliminado.

Para poder utilizar este Script tenemos que instalar Rsync.
Código: text
$ sudo apt-get install rsync


Rsync:
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Y a continuacion dejo el archivo para descargar como tambien el codigo del mismo:

LINK (3kb):
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Codigo:
Código: python
from os import system
import subprocess
from time import sleep

print("\n\n\n\t██████╗ █████╗ ████████╗  ████╗   ████████╗     ████████╗██████╗ ██████╗██╗\n"+
"\t██╔══████╔══████╔════██║ ██╔██║   ████╔══██╗    ╚══██╔══██╔═══████╔═══████║     \n" +
"\t██████╔█████████║    █████╔╝██║   ████████╔╝       ██║  ██║   ████║   ████║     \n" +
"\t██╔══████╔══████║    ██╔═██╗██║   ████╔═══╝        ██║  ██║   ████║   ████║     \n" +
"\t██████╔██║  ██╚████████║  ██╚██████╔██║            ██║  ╚██████╔╚██████╔███████╗\n"+
"\t╚═════╝╚═╝  ╚═╝╚═════╚═╝  ╚═╝╚═════╝╚═╝            ╚═╝   ╚═════╝ ╚═════╝╚══════╝  By Afaik\n\n")

print("")

opt = "n"
while opt.lower() != 's':
    print("Introduzca la ruta a la carpeta que desea backupear")
    rutaOrigen = input()
    print(system("ls " + rutaOrigen))
    sleep(1)
    print("Es ese el contenido de tu carpeta ? s/n")
    opt = input().lower()

opt = "n"
while opt.lower() != 's':
    print("Introduzca la ruta a la carpeta de destino")
    rutaDestino = input()
    print(system("ls " + rutaDestino))
    sleep(1)
    print("Es ese el contenido de tu carpeta ? s/n")
    opt = input().lower()

print()
print("ORIGEN: " + rutaOrigen)
print("DESTINO: " + rutaDestino)
print()


opt1 = ""
while (opt1.lower() != 's') and (opt1.lower() != 'n'):
    print()
    print("OPCION: Backup Incremental.")
    print("Eliminar en DESTINO los archivos que no estan en ORIGEN ? s/n")
    opt1 = input().lower()

if opt1 == 's':
    delete = True
elif opt1 == 'n':
        delete = False

if delete == True:
    print()
    print("Como pueden eliminarse archivos, se mostraran los cambios para ver que estos sean correctos")

    print(system("rsync -azP --delete --dry-run " + rutaOrigen + " " + rutaDestino))

    print()
    print()
    opt3 = ""
    while (opt3.lower() != 's') and (opt3.lower() != 'n'):
        print("Son estos cambios correctos ?? s/n")
        opt3 = input().lower()

    if opt3 == 's':
        system("rsync -azP --delete " + rutaOrigen + " " + rutaDestino)

else:
    opt3 = ""
    while (opt3.lower() != 's') and (opt3.lower() != 'n'):
        print("Esta seguro de copiar los archivos ?? s/n   (se mostrara el progreso)")
        opt3 = input().lower()

    if opt3 == 's':
        system("rsync -azP " + rutaOrigen + " " + rutaDestino)



Para utilizar simplemente desde la consola escribimos
Código: text
$python3 backupScript.py


Espero que les sea de ayuda ! :D

Saludos
#4
Siempre veo que hay mucha gente que pregunta "¿Cual distro de Linux recomiendan para comenzar?"

Muchas veces la respuesta va orientada a Ubuntu o alguna distribución que tenga reputación de ser 'amigable' con el usuario o alguna cuestión parecida.
En mi caso, hice caso a ese consejo y empecé con Ubuntu, y luego de unos meses me pase a la distribución de la que se hereda, Debian, solo para darme cuenta de que no habia casi nada diferente, o si era diferente no era más 'difícil' por así decirlo.
Así que seguramente los comandos que se detallan en este post sirvan para ambas distribuciones y (creo que) con muy pocas diferencias para Mint.

Hoy vuelvo a instalar Debian en mi PC y armo esta guía para establecer las primeras configuraciones en el SO.


Debian 9.8 con escritorio Cinnamon (y también se ven mis humildes especificaciones del hardware lol  ::) )

Se puede elegir el escritorio que quieras durante la instalación del SO, en mi caso me gusta Cinnamon, y si en tu caso tenés una PC con muy pocos recursos, podrias elegir XFCE el cual es muy liviano y no consume muchos recursos


Lo primero que necesitamos hacer es acualizar el sistema, para lo que necesitamos permisos de administrador o 'root'


  • Agregando nuestro usuario a los sudoers

Pondríamos en la consola escribir su y loguearnos como root para hacer el update, pero más adelante vamos a querer igual que nuestro usuario tenga este tipo de permisos asique aprovechamos ahora a agregarlo a los 'sudoers'

Primero podes intentar hacer un
Código: text
sudo whoami

Y te va a decir que tu usuario no se encuentra en el 'sudoers file'

1- Cambiar a root
Código: text
su

2- Correr comando
Código: text
usermod -a -G sudo USER (dónde user es tu nombre de usuario)

3-Desloguearse del usuario root
Código: text
exit

4- Probar exito
Código: text
sudo whoami


Ya tenés los permisos para usar 'sudo' ;D

A veces hay que hacerlo de forma manual para que funcione por lo que entre el paso 1 y 2 vamos a editar el archivo sudoers
Código: text
nano /etc/sudoers

Y al final del archivo agregarle
Código: text
user  ALL=(ALL:ALL) ALL     (donde user es tu nombre de usuario)


¿Y qué es todo ese "ALL"?

Citaruser ALL=(ALL:ALL) ALL: en este se indica que la regla se aplica a cualquier anfitrión (o host).
    user ALL=(ALL:ALL) ALL: "user" podrá usar comandos de cualquier usuario.
    user ALL=(ALL:ALL) ALL: si el anterior "ALL" permitía usar comandos de usuarios, éste lo hará de grupos.
    user ALL=(ALL:ALL) ALL: las reglas se aplican a todos los comandos."
(Cita de: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta)

Tambien hay que establecer la contraseña UNIX del usuario root, para impedir que alguien booteando un sistema Live pueda correr una consola en modo administrador dentro de nuestro sistema.
Así que :
Código: text
sudo passwd








  • Actualizar sistema a la ultima version
Ya somos administradores de nuestra pc y ahora si se puede actualizar el sistema  ;) pero antes vamos a modificar nuestra Sources.list
Las sources.list son los lugares a donde nuestro sistema va a 'preguntar' si hay actualizaciones que no tengamos
asique:

Código: text
sudo nano /etc/apt/sources.list


Lo que nos abre el archivo que debería verse algo asi:

y vamos a comentar la primera línea que (creo) que es la que queda de la instalación, por eso dice algo de CD-ROM y el nombre del ISO de la instalación.
y después de comentar esa línea  agregamos "contrib non-free" al final de cada línea
(Explicación oficial de debian: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta)

y nos quedaría algo así:


Cerrar y guardar el archivo y correr los 3 comandos fundamentales

Código: text
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade


o en un solo comando, agregándole -y para que le de que 'si' a todo y no nos este preguntando

Código: text
sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade


ya nuestro sistema esta al día :)

Este siguiente paso es porque yo tenía Windows instalado en la PC y estoy haciendo un Dual-Boot asique me toca actualizar el Grub para que me reconozca los otros SO del disco.

Código: text
sudo update-grub


De esta manera ya la próxima vez que encienda el PC tendre los dos sistemas operativos en el menú de grub para elegir a cual entrar





  • Instalar Drivers
Ahora lo que sería aconsejable es que se instalen, si fuera necesario los drivers de la placa de video, motherboard, etc.
No voy a comentar nada sobre eso ya que mi pc es una notebook con todo integrado (del 2008) así que no me toca hacer esa parte con mi hardware xD



  • Reducir el uso de SWAP

Este paso se aplica solo PCs con poca ram ya que si tenes 8gb o más no creo que se note ninguna mejora.

El uso de la swap se mide con un parámetro llamado 'Swapiness' que podemos chequear con el comando:
Código: text
cat /proc/sys/vm/swappiness

El default es de 60, lo que (creo) que sería lo lógico para un servidor, pero no para un uso cotidiano de una pc de escritorio.

Para editarlo hay que agregar un parámetro en
Código: text
gedit admin:///etc/sysctl.conf

Lo que abre el archivo (pide permisos root) y al final agregamos esta linea

Código: text
###################################################################
# Reducir el uso de SWAP
vm.swappiness=10


Guardar->Salir->Reiniciar el sistema.
Si todo salió bien, cat /proc/sys/vm/swappiness deberia decir que tu swapiness es de 10 o el valor que le hayas puesto




  • Activar el Firewall

Vamos a instalar el UFW (Uncomplicated FireWall) para utilizar desde la consola, o el GUFW (Graphical UFW) para utilizar desde una interfaz gráfica
Código: text
sudo apt-get install ufw
sudo ufw enable

Y para ver el estado
Código: text
sudo ufw status verbose



Lo importante es la parte que dice deny (incoming), lo que quiere decir que va a bloquear todos el tráfico entrante y al lado dice allow (outgoing) o sea que va a permitir todas las conexiones salientes.
Si te interesa más sobre las reglas del mismo o querés investigar más a fondo
Código: text
sudo ufw show raw 





  • Sandbox para el navegador

Esta configuración para el navegador es una que me agrada bastante, su objetivo es que el navegador tenga permisos de lectura para todos los archivos que tenga que usar para su normal funcionamiento, pero que solo tenga permisos de escritura en las carpetas designadas para 'descargas' o las carpetas que le indiquemos.
Lo único que he notado que es incómodo es al momento de tener que subir un archivo que esta en la carpeta de 'documentos' tenemos que moverlo a 'descargas' y ahi si el navegador puede seleccionarlo.

Instalar
Código: text
sudo apt-get install firejail

Chequeamos su versión
Código: text
firejail --version

Ahora corremos firefox con la sandbox
Código: text
firejail firefox & disown

El disown hace que podamos cerrar la terminal, y para ver que efectivamente esta corriendo con firejail ponemos
Código: text
firejail --tree





  • Instalar VLC

Para mirar películas y todos los videos que queramos :D
Código: text
sudo apt-get install vlc





  • Cambiar dirección
    MAC automáticamente

Instalaremos el script MacChanger el cual hace que nuestra dirección fisica del PC cambie cada vez que nos conectamos a una red.
Código: text
sudo apt-get install macchanger

Durante la instalación nos saldrá un prompt en el que pregunta si cambiar automáticamente la dirección MAC, seleccionar que si.





  • Configurar VPN

Siempre he usado ProtonVPN (de ProtonMail) y nunca me ha dado problemas además que tiene una buena velocidad, para configurar la VPN primero instalaremos los paquetes necesarios:
Código: text
sudo apt-get install openvpn
sudo apt-get install network-manager-openvpn-gnome
sudo apt install resolvconf

Despues de este punto descargar el archivo de configuración, dejo el tutorial oficial de ProtonVPN así no se extiende esta parte
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta




  • Cambiar el DNS

Hace un tiempo fue noticia el nuevo DNS de cloudflare 1.1.1.1 o 1.0.0.1, debido a su respeto por la privacidad y velocidad, asique personalmente lo uso en todos mis dispositivos

La configuración es muy simple, en la barra de tareas vamos a la sección de conexiones, entramos a la configuración de nuestra conexión, sea wifi o cable y hacemos click en el martillito para configurar.
Seleccionar OFF en el pistillo de usar DNS automático, y en los campos de texto escribir el 1.1.1.1 como la principal y 1.0.0.1 como la alternativa

Tutorial y más información en su página oficial
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta




  • Instalar anonsurf

Anonsurf es un script que te permite enrutar todo el tráfico de tu pc mediante TOR
Git para clonar el repositorio y el Tor service obviamente
Código: text
sudo apt-get install git
sudo apt-get install tor

Clonar repositorio e instalar con el installer
Código: text
git clone https://github.com/Und3rf10w/kali-anonsurf.git
cd kali-anonsurf
sudo ./installer.sh


Con esto debería bastar para poder hacer un 'sudo anonsurf start' y navegar en la red tor, aunque en mi caso tuve un error con el paquete i2p el cual solucioné de la siguiente manera:

Instalar apt-transport-https y curl
Código: text
sudo apt-get install apt-transport-https curl

Editamos el i2p.sources.list
Código: text
sudo nano /etc/apt/sources.list.d/i2p.list

Y al final del archivo agregar estas líneas
Código: text
deb https://deb.i2p2.de/ stretch main
deb-src https://deb.i2p2.de/ stretch main

quedando asi:

Últimos comandos (cosas varias)
Código: text
sudo apt-get install i2p
curl -o i2p-debian-repo.key.asc https://geti2p.net/_static/i2p-debian-repo.key.asc
gpg -n --import --import-options import-show i2p-debian-repo.key.asc
sudo apt-key add i2p-debian-repo.key.asc
sudo apt-get update
sudo apt-get install i2p i2p-keyring


Y ahora si, le damos a

sudo anonsurf start




  • Instalar TOR Browser

Descargar el paquete de este link:
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
El navegador no requiere instalación, solo extraer y ejecutar :D




  • BONUS TRACK (?) Customizar GRUB

Para que cuando enciendas el PC tenga tu propio estilo !
Primero elegimos una imagen en JPG (creo haber leido que PNG también puede ser pero no lo he probado) y lo importante es que sea de la misma resolución de tu monitor.
Suponiendo que nuestra imagen se llama wallpaper.jpg abrimos una consola en la carpeta en la que esta la imagen y el comando
Código: text
sudo cp -v wallpaper.jpg /boot/grub

Y listo !
En el caso de que tengas problemas con la imagen puede ser por la resolución así que lo cambiamos en el archivo de configuración
Código: text
sudo nano /etc/default/grub

Y en la línea que dice algo como
Código: text
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

Recorda quitar el # al principio de la línea antes de guardar el archivo
Código: text
GRUB_GFXMODE=1366x768 (o la resolución que corresponda)


luego sudo update-grub para que reconozca los cambios






Espero que sea de utilidad el post para saber que es lo primero que hay que hacer después de instalar linux y aprovecho para preguntar
¿Qué otras configuraciones recomendarias?

Saludos !!
#5
Hola a todos !

Estoy comenzando a investigar para hacer un script, al cual le pueda pasar una url y que me devuelva datos que esten dentro de la misma

Por ejemplo, pasarle la URL de este post y que habiendolo definido previamente me diga

"Dueño del post: Bartz"
"Cantidad de comentarios: n "
"Usuarios que comentaron: user1, user2, user3,"
"etc"

Mi consulta no va sobre la logica del codigo, sino que, con que herramienta se hace esto ?? sera con curl o con que ? (de verdad se me dificulta buscar material sin saber bien que es lo que estoy buscando y me salen muchisimas cosas de C# y C++ intentando buscar sobre C... es frustrante xD )

Desde ya gracias por la ayuda!
#6
Back-end / Aprende GIT Basico
Enero 08, 2019, 10:05:52 PM
Buenas buenas !

Entonces, que es GIT ?

Segun su pagina oficial Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente.

Es decir, controlar las versiones, ayudarnos a trabajar en equipo y protegernos de la perdida de informacion (entre otras cosas)

Descarguemos Git de:

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta




Seguimos  los  pasos  de  la  instalación y  terminamos  teniendo  la  consola

podemos  ver  la  version  y/o  la  ayuda  con
Código: text
$  git  --version 
$  git  --help


Configuramos  el  usuario  y  el  mail
Código: text
$ git config --global user.name "bartz"  
$ git config --global user.email "[email protected]"
                                                 

podemos  ver  las  configuraciones  con  el  comando 
Código: text
$ git  config  --global  -l  (solo  lectura) 


y se  puede  editar  con  (cuidado)
Código: text
$ git config  --global –e 


La parte de alias todavia no la tenes, pero en unos minutos lo vamos a agregar



Iniciando Git en nuestro proyecto

Para  seguir  explicando  los  comandos  vamos  a  descargarnos  un  template  web de  www.initializr.com  (300kb)
Creamos  la  carpeta  de  nuestro  proyecto  y  hacemos  CD  adentro  de  ella
Código: text
$ cd /practicagit/proyecto1  
 

una  vez  dentro  de  la  carpeta  corremos  el  comando
Código: text
$  git  init 


Lo  que  hace  este  comando  es  crear  una  carpeta  .git  que  usara  git  para  hacer  su  magia.
Veamos  como  reacciona  a  este  comando
Código: text
$  git  status 


O  el  siguiente  para  verlo  mas  sencillo
Código: text
$  git  status  -s  -b



Los  archivos  estan  en  rojo  porque  todavia  no  estan  guardados,  y  aca  cabe  destacar  que  hay  dos  situaciones,   archivos  que  estan  en  el  "Stage"  y  archivos  que  han  sido  "Commited"
Tu repositorio local esta compuesto por tres "árboles" administrados por git. El primero es tu Directorio de trabajo que contiene los archivos, el segundo es el Stage que actua como una zona intermedia, y el último es el HEAD que apunta al último commit realizado.

Poniendolo en otras palabras, se agregan los archivos a guardar en en Stage, y cuando haces Commit se guarda todo lo que este en el Stage en ese momento



Commits

Vamos  a  agregar  los  archivos  al  stage,  hay  varias  maneras  de  hacerlo, talvez  quieras  que  todo  sea un  solo  commit  o  quieras  agregar  las  imagenes  primero,  js  despues,  css  despues,  etc.

Añadir  todos  los  archivos
Código: text
$  git  add  . 


Añadir  un  solo  archivo
Código: text
$  git  add  index.html 


Añadir  todos  los archivos con la misma extension
Código: text
$  git  add  *.png 


Añadir  todos  los  archivos de misma extension incluyendo subcarpetas
Código: text
$  git  add  "*.png" 


Añadir  todo  lo  que  esta  dentro  de  una  carpeta
Código: text
$ git  add  css/ 


Añadir  todos  los  de  la  misma  extensión  de  una  carpeta
Código: text
$  git  add  js/*.js 


Añadir  una  lista  de  archivos
Código: text
$  git  add  <lista,  de,  archivos> 


Añadir  todos  exepto  uno
Código: text
$  git  add  -A  (todos) 
$  git  reset  archivo.html  (lo  quita  del  stage)


Sea  cual  sea  la  manera  que  queramos  en  el  momento,  despues  de  añadirlo  al  stage  hay  que  hacer  el  commit,  por  ejemplo  subiendo  el  proyecto  entero

Código: text
$  git  add  . 
$  git  commit  -m  "Añadiendo plantilla inicial"


El parametro -m deja un mensaje en el commit, el cual tiene que ser descriptivo a lo que estamos haciendo, para no complicarnos la vida cuando tengamos que recordar que fue lo que hicimos en ese commit.

En este punto, ya habiendo hecho el primer commit, tenemos nuestro trabajo salvado.
Podes hacer la prueba de eliminar algunos archivos y correr el siguiente comando, el cual restaura todo como estaba en el ultimo commit

Código: text
$ git checkout -- . 
   (atencion al espacio entre los guiones y el punto)

Veamos el log de los commits (se ordena en manera descendente, el de mas arriba es el mas reciente)
Código: text
$ git log



Se ve algo extenso para ser solo 4 commits, no ? 
La mejor manera seria hacerlo con el siguiente comando que es muy util la manera en que nos muestra los branches, y demas todo muy bonito (aunque por ahora no se aprecie)

Código: text
$ git log --oneline --decorate --all --graph





Creando un Alias

De verdad tengo que escribir todo eso cada vez que quiero ver el log ?!
Absolutamente no, vamos a ver como crear nuestros propios comandos para poder hacer todo eso con solo 2 letras

Código: text
$  git config --global alias.lg "log --oneline --decorate --all --graph"


El comando que creamos es lo que le sique al punto despues de alias, por lo que ahora todo eso se convierte en
Código: text
$ git lg




VIAJES EN EL TIEMPO
Seguimos hablando de Git, no nos vamos a ir a 1960, pero que tal si en algun momento cambias de plan
y te conviene mucho mas retomar tu trabajo desde lo que hiciste hace 2 dias y no tener que reescribir todo el codigo ?
Es importante por esto que los commits tengan nombres descriptivos, para saber cual elegir en cada momento

Empecemos por algo sencillo, vamos a ver que diferencias tiene el archivo que tenemos actualmente con el del ultimo commit
Código: text
$ git diff index.html



tambien podemos ver las diferencias que tiene con el que esta en el stage en vez del commit

Código: text
$ git diff index.html --staged


Corrigiendo un mensaje del commit que hemos puesto mal, en el caso de haber hecho otra cosa en vez de lo que habiamos puesto

Código: text
$ git commit --amend -m "Habia subido el JS y no el CSS"


tambien se puede correr solo $ git commit --amend y nos abrira el editor de texto que elegimos durante la instalación, en mi caso VIM

Podemos tambien borrar los commits que hicimos pero sin borrar el progreso o lo que hayamos escrito, vamos a usar el log para saber el hash del commit al que queremos volver, esto nos sirve por ejemplo si en un commit subimos todos los archivos juntos y en realidad lo queriamos hacer en dos partes o algo asi.

Código: text
$ git reset --soft 123123(hash)


Tambien como hablabamos antes, se puede volver a un punto anterior en el que hayamos estado trabajando, por ejemplo, actualicé todo el texto del index pero al final cambie de idea y me gustaba mas antes. Cuidado porque borra todo hasta el punto que elegimos.

Código: text
$ git reset --hard 123123(hash)



Como soy una persona indecisa creo que me gustaban los cambios que habia hecho y ya los borre ! Que suerte que no tengo que volver a hacer todo
Existe un comando para ver los commits borrados y todos los cambios que se hayan hecho, este se llama reflog

Código: text
$ git reflog
$ git reset --hard 123123(hash)





Ignorar ciertos archivos

Esto puede ser util por ejemplo con algun log que no queramos ir guardando o dandole seguimiento, por lo que queremos que Git lo ignore completamente
Debemos crear un archivo llamado .gitignore (atencion al punto)
y dentro de el escribimos los archivos a ignorar
Código: text
*.log
css/*.min.css
etc/




BRANCHS

Las branchs nos permiten trabajar en dos partes del mismo proyecto pero haciendo diferentes commits
Son utilizadas para desarrollar funcionalidades aisladas unas de otras. La rama master es la rama "por defecto" cuando creas un repositorio. Creas nuevas ramas durante el desarrollo y las fusionas a la rama principal cuando termines.

Creamos una rama con
Código: text
$ git branch nombre-rama

vemos las ramas que existen con
Código: text
$ git branch

cambiamos de una rama a otra con
Código: text
$ git checkout nombre-rama

Tambien podemos crear y cambiar a esa rama en el mismo comando con
Código: text
$ git checkout -b nombre-rama

Eliminar una rama
Código: text
$ git branch -d nombre-rama





TAGS

Las tags sirven para darles un nombre adicional a los commits, por ejemplo para marcar la primera version estable del programa

Código: text
$ git tag v1.0.0 (se añade al commit actual)


Para mostrar las tags que hemos hecho
Código: text
$ git tag


Para borrar un tag
Código: text
$ git tag -d


tambien para añadirle a un commit anterior
Código: text
$ git tag -a v0.7.0 123123(hash)





Espero que te haya sido de ayuda !
#7
Hola a todos !
La cosa es que estoy aprendiendo PHP e hice una red social para Underc0de en la cual pueden probar todas las maldades que se les ocurran.
Por un lado es muy bueno para quienes se inician en el hacking para buscar vulnerabilidades ya que como yo me estoy iniciando en lo que es PHP seguro hay varias vulnerabilidades en la pagina. 

Les agradezco todas las criticas y sugerencias !

Registrense, envien algunas solicitudes y no tengan piedad  :P


Les pido 2 cosas:

       
  • Cuando se registren dejen su nombre de usuario en este post
  • Al encontrar alguna vulnerabilidad o bug comentenlo aqui mismo, ya que la idea es hacer un post de como explotar y fixear dichas vulnerabilidades.




Para ingresar al Reto, les dejo el link: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta


Let the game begin !
#8
Comenzando a programar con php
Hola Underc0ders ! Este post va desde la instalación de los servicios hasta nuestro primer 'hello world' en php.

Lo primero que vamos a hacer es descargar XAMPP

Citar¿Qué es XAMPP? XAMPP es el entorno más popular de desarrollo con PHP XAMPP es una distribución de Apache completamente gratuita y fácil de instalar que contiene MariaDB, PHP y Perl. El paquete de instalación de XAMPP ha sido diseñado para ser increíblemente fácil de instalar y usar.

       
  • DESCARGA
Link de descarga -->No tienes permitido ver enlaces. Registrate o Entra a tu cuenta descargar la versión 7.0 ya que es la mas actual y la que se va a seguir usando los proximos años, ya que las versiones 5.x estan llegando al fin de su soporte




       
  • INSTALACIÓN DE XAMPP
La instalación de XAMPP es realmente muy facil asique no vamos a detenernos en ese paso.

Una vez que ya se haya instalado vamos a tener la ventana principal de XAMPP donde tenemos los botones para inicializar los servicios


A este punto esta todo bien instalado y con las configuraciones predeterminadas, en el caso de querer establecer alguna configuración en algun servicio, tenemos el boton de 'configure'
Una buena manera de saber que se instaló de manera correcta es iniciar el servidor apache e ir en el navegador a 127.0.0.1 o localhost y ver que nos lleve a la pantalla del 'dashboard' como se ve a continuación


Y tambien si iniciamos el servidor de MySQL podemos dirigirnos a 127.0.0.1/phpmyadmin y ver el panel de configuración de las bases de datos






       
  • CREANDO NUESTRO PRIMER PROYECTO
La carpeta del proyecto tiene que ir dentro de nuestra carpeta 'htdocs' de XAMPP, en mi caso
Código: text
/opt/xampp/htdocs/primer_proyecto

Una vez que ponemos algo dentro de 'htdocs' ya es accesible desde nuestro navegador, osea que si pongo un archivo index.php dentro de la carpeta htdocs, podria acceder desde
Código: text
127.0.0.1/index.php

o si lo pusiera dentro de la carpeta del proyecto seria
Código: text
127.0.0.1/primer_proyecto/index.php

Elijan el IDE que mas les guste, pero en mi caso elijo PHPstorm, ya que trae integrado todo lo que es HTML5+CSS3+Bootstrap, JavaScript, Jquery, reconoce las sentencias de MySQL, y obviamente PHP..
Asique por todo esto es que este editor me encanta <3

Consejo:
En el caso de que el IDE abra los archivos como Read-Only es porque la carpeta de instalación de xampp pertenece a $root y no a tu usuario, si te pasa eso  se soluciona con el siguiente comando
Código: text
sudo chown -R afaik /opt/lampp/htdocs

o
Código: text
cd /opt/lampp/htdocs
sudo chmod 777 -R carpeta_del_proyecto

Luego de esto ya estamos listo para probar nuestro primer pedacito de codigo
Código: text
<?php echo 'Sup World ?! " ?>



Es algo basico pero espero que ayude a quien este empezando a programar en este lenguaje
Y eso es todo ! Estamos listos para empezar a programar en PHP ! Saludos ! :D
#9
Hola gente !
Bueno la pregunta es esa,
¿Como puedo hacer para correr comandos utilizando subprocess en Python como administrador? osea que al ejecutar los comandos en vez de ser en el cmd común sea en cmd modo administrador
Estoy abriendo una conexión con socket y enviando los comandos pero en algunos casos "no tengo los permisos suficientes", traté de ejecutar el script como administrador pero sigue diciendo lo mismo.
Gracias de antemano por su respuesta !  ;D
#10
Hola gente !

Este post va sobre recolectar información sobre un objetivo.
Les pido que si les es útil el material pongan un comentario sobre que les parece, si tienen algo para agregar háganlo y si ven que estoy errado en algo por favor díganlo!
Hice un post anterior a este con lo basico que uno deberia tener conocimiento y lo pueden visitar aca
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta




Entonces.. Porque information gathering ?
Elegi este proceso porque es el primer paso de un pentest, el cual normalmente consiste de 5 fases (pueden ser mas, pueden ser menos) depende el caso

La pagina web que elegí para este ejercicio fue la de una organización de mi ciudad, no voy a tapar el nombre ya que toda la informacion esta de manera publica asique no le veo nada de malo  ::)
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Aun asi aclaro que no me hago responsable del uso que se le pueda hacer de esta información, es solo para propositos educativos  :)
Por donde empiezo ? Que hay que tener en cuenta ? Como interpreto la información ?



Lo primero que hice fue usar Nmap que es una de mis herramientas preferidas, ya que se pueden hacer incontables cosas con esta.
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Hay muchisimos parametros que se le pueden pasar dependiendo el momento o el objetivo

Cheat Sheet con los comandos basicos mas utilizados
Este tipo de listas de comandos me sirvieron mucho al principio ya que al no saber como se usaba solo usaba comandos en este tipo de listas, reconociendo para que sirven los parametros pero mas importante, analizando la información que nos arroja el output
Aclaro, hay una alternativa grafica que se llama ZeNmap, para los que no son muy amantes de la consola

Cheat Sheet---> No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Nmap Tutorial para Principiantes---> No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
PDF Demasiado completo sobre Nmap No tienes permitido ver enlaces. Registrate o Entra a tu cuenta (y cuando digo demasiado es que son 1500 paginas que solo recorrí haciendo Ctrl+F en ocasiones  :P )
PDF Libro oficial de Nmap "Nmap Network Scanning Guide" No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
PDF Este si que lo podemos leer, lo necesario sobre los comandos, para que utilizarlos y como llamarlos No tienes permitido ver enlaces. Registrate o Entra a tu cuenta



En fin..
1) Abrimos una terminal y ejecutamos el comando
"nmap -A -P0 66.228.61.65"
El cual escanea los puertos en busca de cuales estan abiertos. El parametro -A agrega informacion adicional sobre los mismos.
Se podría haber cambiado la ip por la url del sitio y hubieramos tenido el mismo resultado



En este caso el output nos da la siguiente informacion:

  • Puertos abiertos: 21 (FTP), 22 (SSH), 25(SMTP), 53 (domain), 80 (HTTP), 110 (POP3), 143(IMAP), 587(SMTP), 3000(Ntop-HTTP), 3306(MySQL).

  • El servicio FTP (File Transfer Protocol) corriendo en el puerto 21 corresponde a la version 1.3.1 de ProFTPD

  • El servicio SSH (Secure SHell) corriendo en el puerto 22 corresponde a la version "5.1p1 Debian 5 (protocol 2.0)" de OpenSSH
    Tambien nos brinda las llaves SSH en DSA(1024 bits) y RSA(2048 bits)
       SSH-hostkey:
       DSA: 1024 a3:ef:e0:af:c0:70:ce:74:c4:ba:0a:f8:cc:34:75:3e
       RSA: 2048 b3:49:4a:a8:66:38:53:f1:83:ca:ff:0f:c4:37:26:19

  • El servicio SMTP (Simple Mail Transfer Protocol) corriendo en el puerto 25 corresponde a la version "ispCP OMEGA 1.0.7" de Postfix

  • La pagina de acceso al servicio SMTP en este caso se encuentra en No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

  • Este servicio SMTP se repite en el puerto 587 con las mismas caracteristicas
  • Los comandos smtp identificados nos sirven para tener una idea de como esta configurado el servicio y como funciona el mismo (PIPELINING, SIZE, VRFY, ETRN, AUTH PLAIN LOGIN NTLM DIGEST-MD5 CRAM-MD5).
  • El servicio DNS (Domain Name Server) corriendo en el puerto 53 corresponde a la version "9.6-ESV-R4" de ISC BIND, un servidor dns Open Source.
  • El servicio HTTP corriendo en el puerto 80 corresponde a la version 2.2.9 de Apache
  • El servidor Apache tiene instalado el modulo "fastcgi" para poder introducir librerias de Perl, en este caso Perl v5.10.0
  • Dentro de la informacion del mismo puerto 80, nos dice que utiliza "ispCP Omega" que es un gestor de hostings virtuales Open Source
  • El servicio POP3 (Post Office Protocol) corriendo en el puerto 110 corresponde a la version "Courier pop3d" de Courier Mail Server.
  • El servicio IMAP (Internet Message Access Protocol) corriendo en el puerto 143 corresponde a la version "Courier Imapd" de Courier
  • El servicio corriendo en el puerto 3000 corresponde a Ntop, version 3.3. Ntop es una interfaz de cliente basada en HTTP para crear aplicaciones de monitoreo y almacenar persistentemente estadísticas de tráfico.
  • El servicio MySQL (Sistema de base de datos open source) corre en el puerto 3306 y corresponde a la version "MySQL 5.0.51a-24+lenny5"


Todo esto con un comando de Nmap ? Si. Love Nmap :-*



2)Continuando con el uso de nmap corremos el siguiente comando:

Este utiliza uno de los llamados NSE scripts, en este caso utiliza un script de enumeracion de directorios utilizados comunmente en aplicaciones web y servidores.

Con esto encontramos un archivos con información A FONDO de la configuración completa del sitio, no solo la version de php, sino que tambien parches que se han aplicado, la build date, que configuraciones estan activadas y cuales desactivadas
Podemos ver tambien todas las variables de configuracion de php como
_REQUEST
_COOKIE
_SERVER_SOFTWARE
_SERVER_REMOTE_ADDR
_SERVER_REQUEST_METHOD
_SERVER_DOCUMENT_ROOT

Tambien mediante las variables "date.default_latitude" y "date.default_longitude" podemos tener una ubicación aproximada del mismo.
En la configuración de hashes tambien se puede ver cuales son con los que trabaja
Código: text
"hash support: enabled
Hashing Engines: md2 md4 md5 sha1 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3............."


Se puede encontrar la configuracion completa de MySQL, la API version del mismo, tambien encontramos los drivers de la base de datos por ej "PDO Driver for MySQL, client library version 5.0.51a"

Ingresando al siguiente link se ve toda la informacion completa
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

El script tambien nos ofrece la ubicación del panel de administrador que como nombramos anteriormente trabaja con "ispCP Omega"
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Login al webmail
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Login al servicio FTP, el acceso a este punto seria CRITICO ya que nos permitiria modificar lo que queramos, subir o descargar archivos, comprimir, descomprimir, encriptar, navegar por TODOS los archivos y subcarpetas.
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

En este punto me gustaria hacer un ejercicio / pregunta
¿Para que utilizarian o porque creen que toda esta información es importante ?



3) Buscando vulnerabilidades con Nmap
Se que se podrian utilizar otras herramientas para esto, que las hay las hay, a estas alturas el post empieza a sonar como "Utilizando nmap para todo"  :o jaja asique si estas pensando eso te pregunto ¿Que otras herramientas recomendarias?

Haciendo uso de un script, en este caso el llamado "vuln" lo que hace es tratar de encontrar passwords por defecto, usuarios con contraseñas vacias, posibles vulnerabilidades a ataques de denegación de servicio, etc. a un nivel basico cabe aclarar, ya que si nos enfocaramos en tratar de encontrar especificamente vulnerabilidades para un cierto tipo de ataques existen herramientas mas 'especificas'





Este comando nos devuelve varias vulnerabilidades:

Tipo CSRF (Cross-Site Request Forgery):
Este tipo de ataque fuerza al navegador a enviar una peticion a una aplicación web vulnerable, la cual realiza la acción al tratarse de un usuario confiable.

Código: text
|     Path: http://unix13.mardelhosting.net:80/
|     Form id: uname
|     Form action: index.php
|     
|     Path: http://unix13.mardelhosting.net/lostpassword.php
|     Form id: capcode
|     Form action: lostpassword.php
|     
|     Path: http://unix13.mardelhosting.net/ftp/
|     Form id: loginform
|     Form action: /ftp/index.php
|     
|     Path: http://unix13.mardelhosting.net/index.php
|     Form id: uname
|_    Form action: index.php


Se encontró que la pagina podria ser vulnerable al ataque "Slowloris Attack", este ataque es posible debido a que slowloris trata de mantener las conexiones del servidor web abiertas y esperando tanto como se pueda.
Debido a esto, uno puede efectuar este ataque desde una simple computadora sin necesitar un gran ancho de banda para lograr que este sea efectivo
Código: text
Slowloris DOS attack
|     State: LIKELY VULNERABLE
|     IDs:  CVE:CVE-2007-6750


Tambien se encontraron dos urls donde seria posible una inyección SQL
Código: text
|   Possible sqli for queries:
|     http://unix13.mardelhosting.net/pma/./Documentation.html?phpMyAdmin=rv33vfjpds9pc9gmthomrbkv4ot4pmg9%27%20OR%20sqlspider
|_    http://unix13.mardelhosting.net/pma/./Documentation.html?phpMyAdmin=rrsp7rpo81pe7t0jvkfu1nves4m0op2t%27%20OR%20sqlspider


4)Chequear si la pagina contiene modulos de WordPress mediante google dork



efectivamente esta utiliza la version 4.2.19

5)Sabiendo que la pagina utiliza WordPress

procedemos a ejecutar la herramienda WPscan
Pagina oficial---> No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Git Clone---> No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Tutorial----> No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Corremos el siguiente comando:


Este comando busca enumerar todos los nombres de usuario, timthumbs, themes vulnerables y pluguins vulnerables.
Los plugins se utilizan para añadir funcionalidades a la pagina web, puede ser para crear un formulario de contacto, una tienda online, iconos de redes sociales para compartir, etc.
Desde nuestro punto de vista, saber que plugins tiene la pagina y su version, nos permitiria buscar vulnerabilidades de los mismos para poder explotar.

En este caso el tema en uso de la pagina es "PMKT – AM V1.0" ubicado en la url
"No tienes permitido ver enlaces. Registrate o Entra a tu cuenta "
Podemos ver el codigo CSS generado por el tema de word press.

Se encontraron 24 plugins, Solo uno de ellos contiene vulnerabilidades criticas, relacionada a la conexión con la base de datos

Código: text
[+] Name: contact-form-7-to-database-extension - v2.8.17
|  Last updated: 2017-01-14T00:42:00.000Z
|  Location: http://accionmarplatense.org/wp-content/plugins/contact-form-7-to-database-extension/


Tambien encontro una vulnerabilidad critica, de tipo de denegación de servicio (DDOS) "WordPress Core – 'load-scripts.php'" (CVE: CVE-2018-6389), resultando en la caida de la pagina al no poder responder la excesiva cantidad de solicitudes generadas.
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

6)Utilizando FOCA

FOCA es una herramienta utilizada principalmente para extraer los metadatos e información dentro de los archivos que escanea. Tambien serviria para ver la estructura interna de la red si contaramos con suficientes documentos pero eso ya queda fuera de mi liga  :P
La utilización es muy simple, le damos como parametro la URL de la web a escanear y la herramienta se encarga de descargar los archivos y analizar los datos en ellos.
Descarga---> No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Libro Oficial 0xWord---> No tienes permitido ver enlaces. Registrate o Entra a tu cuenta



Como vemos en la imagen, en este caso se encontraron 20 archivos, en formato doc, docx y PDF.
Al analizar los datos en los archivos obtenemos la siguiente información




Nombre de los hosts que han editado/creado los documentos: "PC_aferro" "PC_Estudio" "PC_Full name" "3PC_Gisela" "PC_Marcos"
Vemos que el SO utilizado en la mayoria de los casos es Windows, incluso uno en la version Shadow Lite y uno de los hosts con macOS.
Tambien se logra ver que los programas con los que se han editado son Microsoft Office, AutoCAD y un editor de PDFs de MacOS.
Toda esta información nos serviria por ej. en el caso de querer generar un payload, lo hariamos para Windows ya que es el sistema operativo predominante.

7)Información de WHOIS

Código: text
Información del registrante:
Nombre: Adrian
Abogado en "Estudio Juridico asdasd" ubicado en "Av. luro 123123 3 "A""
Telefono: 0223 491-444444(de su oficina)
CUIT:20-231231231231231-2
Organización: Accion marplatense
Dirección: La Rioja 15312312345
Ciudad: Mar del Plata, Buenos Aires, Argentina
Codigo Postal: 7600
Telefono: +54.54223123123123 (de la organización)
Email: [email protected]

Name Servers
NS1.MARDELHOSTING.NET
IP: 173.255.205.241
NS12.MARDELHOSTING.NET
IP:50.116.47.214


Con esta información, una manera de atacar al registrante seria la Ingenieria Social basandonos en su situación crediticia por ejemplo, la cual obtenemos facilmente una vez que sabemos su nombre completo o CUIT.
Utiliza el banco Santander Rio, actualmente tiene consumos por $392.000 (en total) sin deuda en esa cuenta.
Sin embargo, en su reporte del banco central figura que tiene un cheque rechazado en diciembre de 2017, lo cual puede ser un vector para un ataque de ingenieria social.
Tambien en ARBA figura que esta persona tiene una deuda de categoria 3, lo que quiere decir que debe mas de $10.000, por lo cual tambien podriamos intimarlo via mail y seria creible.




Hasta aca llega la información 'basica' que se pudo conseguir con un par de herramientas..
Asique nada, dale compartir y suscribite a mi canal y si te gusto tambien dale like (?)(?)

Cualquier pregunta / duda / sugerencia y mas que nada corrección será mas que bien recibida :D como vengo aclarando, esta es una bitacora, voy tomando mis screenshots, comparto el material que me llega o que tengo y las conjeturas que saco de lo que leo o investigo para que entre todos aprendamos un poco mas :D

Saludos Underc0ders !   ;)
#11
Hola Underc0ders !

Este post va acerca de como arreglar GRUB y mas que nada sobre como recuperar los datos que teniamos en el PC.

En mi caso, cuando prendi la pc y vi que solo estaba la pantalla en negro y esa maldita raya blanca parpadeando lo primero que hice fue correr en circulos espantado por la idea de haber perdido mi informacion..
Aunque sabia que mientras no formateara el disco las cosas seguirian ahi, igual el hecho de pensar que podia perder todo mi backup de 100GB que habia estado preparando la noche anterior me ponia nervioso.

Asique armado de mucha paciencia y cuidado me dispuse a buscar la solucion.
Por suerte tenia a mano un pendrive con Tails que pude correr Live enchufandolo en el usb.




Enciendo el PC y tecleo el siguiente comando:

Código: text
# fdisk -l 


Y el output me mostraba el SDA (disco) pero no las particiones sda1, sda2, sda3...



En mi caso lo que habia hecho habia sido borrar el esquema de particiones..
Estaba tratando de formatear mi disco duro externo para backupear y en un momento habia seleccionado el disco sdA en vez del sdB  ::)


1er Paso: Recuperando el esquema de particiones

Googleando sobre el tema encontré esta herramienta llamada TestDisk,  descargamos el tar.gz y lo corremos
Link de la herramienta---> No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Al correrla nos muestra un menu principal y le damos en Create (crea un log file)



Nos muestra una lista con los discos de la PC y seleccionamos nuestro disco dañado


Nos pide seleccionar un tipo de particiones a analizar, damos en Intel/PC


Posteriormente le damos en Analyse


Y comienza a hacer su magia


Despues de unos minutos, la verdad que me llamó la atención lo rapido que fue, en mi caso 2 o 3 minutos para un disco de 500GB
Y nos encuentra las particiones


Cabe aclarar que en este punto tambien podemos modificar el tipo de particion, cambiar una Primary por Logic o seleccionar desde cual bootear o incluso agregar una nueva, en mi caso deje todo como estaba porque me daba miedo perder mis datos si tocaba algo que no deberia  :P

Le damos a Write !


Trabaja durante un minuto y Voilà !!


Fijense en la imagen que para corroborar que se recupero con exito primero corremos de nuevo el comando

Código: text
fdisk -l /dev/sdb

Esto nos muestra las particiones del disco, seleccionamos la o las que nos interesa y las montamos
Código: text
mount -t ext4 /dev/sdb? /mnt

Reemplazar el ? por 1, 2, 3, el que corresponda en su caso.
A este punto ya tenemos las particiones que habiamos perdido y hemos logrado montar la particion donde se encuentran los datos que queremos salvar


2do paso: Backupeando la información

En realidad nose si sea necesario esto de backupear la data, pero como no queria correr ningun riesgo fue lo primero que hice.
Asique vamos a una terminal en la que seamos Root, navegamos hasta el directorio donde se ha montado la unidad (pondre una carpeta ejemplo 123123)

Código: text
cd /media/123123


dentro del disco vamos a donde esta nuestra informacion (o directamente desde el directorio / si queres copiar todo el sistema), por ejemplo:
Código: text
cd /home/bartz/Desktop/DatosABackupear

Código: text
ls
file1.txt
file2.iso
folder1
folder2


Copiar la informacion con el comando:
Código: text
cp -R * /lugar/donde/esta/nuestro/disco/extraible

El -R hace una copia recursiva osea que va a seleccionar todas las carpetas y subcarpetas y el asterisco seleccionara todos los tipos de archivos, y el segundo parametro es donde se copia la información
Ejemplo:


Paso 3: Recuperando el GRUB

Despues de haber recuperado las particiones si reiniciamos el PC veriamos algo asi:


Asique volvemos a iniciar el SO Live en el caso de haber apagado el PC y comenzamos a jugar con la consola
Corremos el comando # fdisk -l para ver nuestras particiones nuevamente y saber cual es la particion que tiene LINUX, la mas grande, no la swap.
Dejo captura y explico los comandos luego (Disculpas por la calidad de la misma pero tuve que sacarle foto con el celular  :-X )

Como ven utilizamos el comando "mount --bind" con varias carpetas del sistema para que al momento de hacer chroot a nuestra particion que no arranca nos reconozca los comandos
Luego se utiliza el comando "chroot" a la carpeta donde esta montado el sistema logrando asi en nuestra consola estar utilizando la terminal del sistema que no arranca.
Una vez que llegamos a este punto tecleamos "grub-install /dev/sda" (o el sdX que corresponda en su caso)
Termina de instalar y corremos "update-grub" para que nos reconozca el sistema y en mi caso hasta el wallpaper de grub que tenia configurado anteriormente.
Reiniciamos el PC y listo !! Todo volvió a la normalidad !;D ;D ;D


Y en este momento te sentis como dice el wallpaper....



#12
Hola gente !
Les cuento, estoy desarrollando un script en Python, el cual cumple su funcion, pero estoy haciendolo de una manera poco eficiente. Muestro primero la manera en la que lo estoy haciendo asi se entiende la pregunta despues  ::)
Código: python

user1 = "Mike"
pass1 = "123456"

user2 = "John"
pass2 = "456345"

variable1 = "cadena de texto"
variable2 = "cadena de texto"
variable3 = "cadena de texto"
variable4 = "cadena de texto"

Login(user1, pass1)
# validas para user1
Funcion(variable1)
Funcion(variable2)
Logout()
Login(user2,pass2)
# validas para user2
Funcion(variable3)
Funcion(variable4)
#etc etc son como 10 usuarios con 6/7 variables cada uno y esto se haria larguisimo

Lo que hace el script es llamar a una funcion digamos "loguear" con los parametros (user,pass).
Luego utiliza unas variables que son validas SOLO para una u otra cuenta, es decir si logueo con la cuenta N°1 utiliza las variables 1 y 2 y si loguearia la cuenta N°2 utiliza las variables 4 y 5
Mi objetivo es que en lo que sigue del programa, dependiendo de que cuenta se haya logueado use solo las que les corresponde.
Se que seguramente tenga que usar una lista o array pero de las maneras que he intentado, no me cuadra.

Saludos a todos y GRACIAS de antemano !
#13
Dudas y pedidos generales / Extraer Xpath
Mayo 27, 2018, 06:30:33 PM
Hola gente !
Estoy tratando de extraer el Xpath de ciertos botones o campos de texto dentro de una web y por lo que he leido, muchos recomiendan FireBug que al instalarlo en el navegador con el click derecho tenes la opción de copiarlo directamente. Este no es mi caso ya que despues de haber instalado dicha extensión no encuentro la opción.
Asique la pregunta
¿Conocen alguna otra tool o manera de extraer el Xpath ?

Gracias !! ;D
#14
Hola a todos !

Creo este post para los que recién nos iniciamos en el hacking. Personalmente no tengo demasiada experiencia, hice un curso de hacking en la UTN (Arg) donde los conceptos se exponían de manera mas teórica que practica, pero es lo que me permite ahora tener un conocimiento general sobre los temas que voy a ir presentando.

Link al curso por si les interesa No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

En síntesis, mientras investigo y aprendo mas a fondo sobre cada tema, voy a crear un post sobre el mismo con el material que utilicé, los conceptos aprendidos, recursos útiles, herramientas y ejercicios prácticos para que hagamos.
Les pido que si les es útil el material pongan un comentario sobre que les parece, si tienen algo para agregar háganlo y si ven que estoy errado en algo por favor díganlo!

Antes que nada si al leer esto esperas descargarte una tool "automagica" que te permita hackear la NSA, estas en el lugar equivocado. Muy por el contrario en este primer post traigo para compartir algunos PDF con conceptos básicos pero absolutamente necesarios. Cuando veamos temas mas avanzados lo que aprendamos ahora sera realmente útil para entender las cosas.

Bueno, comenzamos !



Al principio nos tenemos que meter en todo esto de las redes, protocolos, y un montón de siglas raras (SSH, DNS, FTP, SSH, DOS, etc) que de a poco vamos a aprender que significan. No es necesario que lo sepas de memoria, pero es la base de todo lo que sigue, cada vez que te plantees un problema o quieras hacer algo, es gracias a saber esto que se te van a ocurrir maneras de acceder a sistemas o buscarle la vuelta a lo que estés intentando hacer.

Lectura 1: PROTOCOLOS TCP-IP
¿Que es ? ¿Para que sirve? ¿Como se establece una conexión?
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta


Lectura 2: Ataques contra redes
En este se detallan los ataques mas comunes a tener en cuenta y también se explican conceptos como DNS, Telnet, FTP, HTTP, Sniffing, DOS/DDOS, también da explicación sobre la exploración de puertos TCP/UDP y ¿para que quisiera uno explorar puertos ?! tranquilo, te explica todo detalladamente y no es una lectura pesada sobre el tema.
Ah me había olvidado de contarte, TODO EL MATERIAL ESTA EN ESPAÑOL !!!

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta



Lectura 3: Era un dia normal hasta que...
A esta altura si leíste el material de arriba tal vez estés un poco aburrido o tal vez todavía te cueste creer que esto es importante, asique te voy a dejar una lectura mas recreativa que técnica, pero me gusto que este escrita en primera persona, trata sobre un administrador que se da cuenta que su sistema fue vulnerado, que es lo que hace, como es el trabajo de alguien que es responsable de seguridad..

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
(Si querés a esta lectura te la podes saltear!  ::) ::) )



Lectura 4: Anatomía de un Ataque Informático.
Temas que trata esta lectura
Fases de los ataques:
1. Seguir el rastro
2. Exploración
3. Enumeración
4. Obtener el acceso o Denegación de servicio
5. Escalada de privilegios
6. Mantener el acceso
7. Eliminación del rastro
8. Colocación de puertas traseras  shh hice copy/paste, no le cuentes a nadie

También da una serie de cosas a tener en cuenta, google hacking, information gathering, ¿para que sirve un whois? ¿que información estoy buscando?
Lo bueno de este PDF es que cuenta todo paso a paso, va recomendando herramientas en cada etapa, también webs para buscar exploits, y también te comparte (algunos) de los comandos que utiliza

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta



Lectura 5: Puertos y Protocolos
Bueno al principio del material vuelve a explicar que es TCP-IP, pero seguramente esto te va a resultar aburrido porque ya lo leíste anteriormente, pero tenes 2 opciones, 1-Volver a leerlo de una manera mas detallada 2-Leer directamente la parte de puertos y protocolos y ponerte a tirar comandos en la consola con los ejercicios de netstat que trae  :D

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta



Lectura 6: ¿Que es un Firewall?
Bueno... no voy a agregar demasiado acá ya que solo habla sobre firewalls (yeahh so much fun  ::) )

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta



Lectura 7: Empecemos a experimentar un poco...
Este material me resulto excelente, trae comandos paso a paso, explica tipos de ataques, niveles de seguridad, tecnicas criptograficas y obviamente que es la criptografía, y un par de cosas mas que las pongo en forma de lista para que quede mas bonito

       
  • administración basica (chroot, sudo)
  • configuración de red (ifconfig, route, DNS)
  • registros del sistema
  • monitorización de los ficheros log
  • introducción y uso basico de SSH
  • redirección de puertos
  • SSL
  • certificados y open SSL
  • detección de intrusiones
  • scanners y sniffers
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
(Ah me olvide de decirte, trae también un modulo sobre programación en python y tips de seguridad en la programación.... Podes salteartelo o no, como quieras)



Lectura 8: ¿Que es una VPN?
Para que sirve ? como funciona ?
Bueno, acá están las respuestas a esas preguntas y mucho mas
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Personalmente, como una VPN gratis utilizo ProtonVPN, de los mismos creadores que Protonmail. Es algo muy fácil de configurar y en la misma pagina con los links de descarga están los paso a paso para que la tengas siempre al alcance de la mano


Bueno y para terminar, ya que estamos empezando desde lo básico, te dejo material por si recién te estas iniciando en Linux, acá vas a encontrar respuesta a todas tus preguntas desde el inicio, como instalarlo, que distribución elegir, comandos, usuarios, sistemas de paquetes, grub, partición de disco, etc
Personalmente, después de haber probado varias distribuciones, y dejando fuera las distros especificas para hacking, me decidí a usar Debian 9 con desktop Cinnamon, aun asi, es tu decisión que SO es el que te gusta mas !

Manual de Linux (este es el que habla sobre que distro elegir)
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Linux Basico
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Manual Basico de Linux (Este trae ejercicios !) ;)
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Por si elegiste Ubuntu, acá tenes un manual
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta




Espero que les sea de ayuda todo, vamos de a poco que tampoco hace falta saber todo si o si, esto es lo básico para que puedas tener un mínimo conocimiento, que puedas usar cómodamente linux, y ahora si podamos pasar en el siguiente post a enseñar alguna técnica de hacking (Todavía tengo que decidir sobre que hacer dicho post, si tenes alguna recomendación decímela! ;D )

Saludos Underc0ders !!



#15
Saludos Underc0ders !



Como bien el titulo lo dice, les dejo a continuación una lista con mas de 40 sitios donde poder practicar nuestras habilidades de manera legal.
A veces pasa que queremos aprender una tecnica nueva y no sabemos bien si estamos haciendo algo mal nosotros, la pagina no era vulnerable a la tecnica que estamos tratando de realizar, o simplemente queremos establecer nuestro propio laboratorio de pruebas.
Sea cual sea su situación, seguramente esta lista te ayude a mejorar tu nivel sea cual sea la tecnica o ataque que estes queriendo realizar (Web apps, iOS, Android, XSS, SQLi, reversing, etc).
Despues de esta bella, breve, pero no por eso menos importante introducción,
LA LISTA !

bWAPP
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Damn Vulnerable iOS App (DVIA)
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Google Gruyere
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

HackThis!!
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Hack this site
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Hellbound hackers
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

MacAfee HacMe sites
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Mutillidae
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

OverTheWire
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Peruggia
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Root Me
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Try2Hack
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Vicnum
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

WebGoat
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Juice Shop
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Hackdemic
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

SlaveHack
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Hackxor
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Boggelt
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Moth
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

EnigmaGroup
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

OWASP Bricks
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Damn Vulnerable Web Application (DVWA)
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

ExploitMe Mobile Android Labs
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

XSS game area
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

W3Challs
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

The ButterFly Security Project
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Damn Vulnerable Web Services DVWS (PHP)
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

OWASP Insecure Web App Project
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Acunetix (Forum ASP)
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Acunetix (Blog .NET)
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Acunetix (Art shopping PHP)
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Cenzic CrackMeBank
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

HP/SpiDynamics Free Bank Online
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

IBM/Watchfire AltoroMutual
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Badstore
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

RingZer0 Team Online CTF
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Hacking-lab
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

 
Espero que les sea de ayuda !
Bartz.-
#16
Hacking / [APORTE] ¿Que es un ataque DOS/DDOS?
Mayo 06, 2018, 10:04:37 PM
Hola gente !

En este post explicare que son y como funcionan los ataques de Denegación de Servicio (DOS y DDOS).
Me gustaria que si tienen alguna mejora o notan algun error lo dijeran en los comentarios y asi poder mejorar el post  ;D



Denial of Service (DoS)


Es un ataque que causa que un servicio sea inaccesible a los usuarios para los que esta implementado.

Este ataque provoca la perdida de conectividad por el consumo de ancho de banda o sobrecargando los recursos del sistema mediante una determinada cantidad de solicitudes al mismo.

Cuando uno escribe la URL de un sitio, se esta enviando un pedido de conexión al servidor para ver la pagina. El servidor puede procesar un determinado numero de solicitudes al mismo tiempo. Si un atacante sobrecarga el servidor con solicitudes, no puede procesar la nuestra, por eso es que se llama "denegación de servicio", porque un usuario legitimo no puede acceder al sitio.

Una variante de este es el ataque "Distributed Denial of Service" (DDoS), en cambio al ataque DoS donde el atacante es solo uno, en este los ataques o solicitudes de conexión se originan desde muchos nodos (Ej desde una 'botnet') haciendo imposible frenarlo mediante banear a un solo solicitante, de ahi la palabra 'distribuido' del nombre.
Hace poco se vio lo que dice haber sido el ataque DDOS mas grande de la historia alcanzando 1.35Tbps los cuales fueron enviados a través de 126.9 millones de paquetes por segundo.
Aquí la noticia en genbeta
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Hoy en dia las botnets llegan a ser inmensas, estas se consiguen infectando terminales vulnerables con determinado tipo de malware, utilizando diversas tecnicas desde el "phishing" o por ejemplo codigo malicioso JS al visitar algun sitio web.
Ejemplo del trafico que puede generar una botnet:
"3000 hosts * 128 KiB/s (upstream) = 384000 KiB/s = 375,00 MiB/s"

El crecimiento de estas se ve incrementado el ultimo tiempo gracias a la gran cantidad de dispositivos (Ej. moviles vulnerables) y ademas por el constante incremento del IoT (internet of things) en el cual la seguridad de los dispositivos claramente no es prioridad para los desarrolladores ni una cuestion de interes para los usuarios.


Ejemplo de ataque DDOS mediante una BOTNET



ALGUNAS TECNICAS DE ATAQUES DOS Y DDOS



IP FLOODING

Consiste en la generación de tráfico con el objetivo de conseguir la degradación del servicio de red. De esta forma, el atacante consigue un gran consumo del ancho de banda disponible ralentizando las comunicaciones existentes en toda la red.
Se da principalmente en redes locales dónde el control de acceso al medio es nulo y cualquier máquina puede enviar/recibir sin ningún tipo de limitación en el ancho de banda consumido



BROADCAST

En este tipo de ataque se utiliza la dirección de identificación de la red IP (broadcast address) como dirección de destino del paquete IP. De esta forma, el router se ve obligado a enviar el paquete a todos los ordenadores pertenecientes a la red, consumiendo ancho de banda y degradando el rendimiento del servicio.


SMURF

Este tipo de ataque se basa en falsear las direcciones de origen y destino de una petición ICMP de ECHO (ping)
Como dirección de origen colocamos la dirección IP de la máquina que va a ser atacada. En el campo de la dirección de destino situamos la dirección broadcast de la red local o red que utilizaremos como atacante para colapsar al sistema elegido (incluso se utilizan direcciones propias del ISP)




EJEMPLO PRACTICO


Caso de un DoS "Ping of Death"
Se trata de un ataque muy basico pero se logra entender el concepto.


En este caso se utiliza el ping como metodo de ataque, enviandolo repetidas veces

Hacemos ping a la web deseada para saber el IP de la misma y luego con el comando "-t" lo podemos enviar de forma repetida y con el comando "-l" se elije el peso del paquete en cuestion



Ya teniendo la IP de la victima procedemos a escribir el comando que en este caso seria  "ping 173.194.41.223 -t -l 15000"  como se muestra a continuacion



En el caso de que el ping nos de una respuesta con un mensaje "Tiempo de espera agotado" significa que la cantidad de bytes es muy alta, se debe regular hasta saber la capacidad maxima soportada por ping.
Para que el ataque resulte exitoso nuestro ancho de banda debera ser mayor que el de la victima para poder enviar mas paquetes de los que puede responder.


SYN Flood Attack

Este tipo de ataque consiste en el envio de paquetes manipulados a la maquina objetivo, en el protocolo TCP/IP las banderas (flags) tienen diferentes funciones como marcar el inicio y final de una conexion, SYN, SYN-ACK, ACK, en este ultimo esla clave de este ataque o tecnica.

El SYN flood procede activando el SYN en la conexion TCP y alterando la IP objetivo (spoofing), la victima responde con un SYN/ACK considerando que se trata de una conexion legitima y espera po un ACK por parte del cliente.

El objetivo seria que este ultimo ACK nunca llegue logrando que la secuencia no se complete y asi ocasionar que la maquina objetivo se sature de conexiones sin dejar lugar a conexiones legitimas.


Eleji esta tecnica porque es la mas utilizada por el grupo hacktivista "Anonymous" y la aplican mediante sus dos conocidas herramientas llamadas "LOIC" (Low orbit ion cannon) y HOIC (High orbit ion cannon).
Estas pueden ser manejadas por el usuario directamente o utilizando un canal de IRC en un ataque distribuido enviando por ese medio ordenes a los demas puntos de ataque.

A continuacion sigo exponiendo este ataque mediante la herramienta HPING3, una herramienta de pruebas a reglas de firewall, stress testing, manipulacion de paquetes, etc.



En la herramienta se pueden saber todas las opciones utilizando el comando  "hping3 -h"
En este caso se utilizaran los siguientes parametros desde cada una de las maquinas atacantes:

-S         setea el flag SYN
–flood   Envia paquetes lo mas rápido posible. No se muestran respuestas.
–rand-source Simula diferentes orígenes aleatoriamente al enviar los paquetes.
-d    Establece el tamaño del cuerpo del paquete (expresado en bytes). Este valor puede variar.
-p     Indica el puerto de destino

Es necesario contar con privilegios de superusuario para poder utilizar el comando "SUDO"

Teniendo en cuenta que el target es 192.168.1.109, que se utiliza el flag SYN y que se hara de tipo "flooding" con cada request y al puerto HTTP el comando quedaria de la siguiente manera

Código: text
 sudo hping3 -S 192.168.1.109 --flood --rand-source -d 5000 -p 80 
 

Se podrian utilizar diferentes valores pero con estos parametros es suficiente para lanzar un DDOS contra el puerto HTTP de la victima desde todas las maquinas simultaneamente

Al analizar el trafico en la maquina objetivo se veria algo asi:



El sitio se volvio inaccesible por la cantidad de requests que tiene que procesar el servidor


El ataque puede durar unos pocos minutos asi como el tiempo que uno desee.
En este caso el ataque se dio en un entorno de prueba dejando de lado intermediarios que podrian llegar a ayudar a tener una defensa, routers, proxies, firewalls, hardware/software dedicado a la defensa contra este ataque, etc.



Digame, ¿Como puedo defenderme? :-[



No es tarea fácil mitigar este tipo de ataques, en cuanto a los  ataques  DOS/DDOS  indirectos, que son en los que se falsea la dirección  de origen,  pueden  solucionarse mediante técnicas de filtrado de entrada y salida.
En cambio los ataques directos siguen siendo inevitables debido a que no se los puede distinguir del trafico normal de la red.

Actualmente la detección de estos ataques esta bastante desarrollada principalmente por los sistemas de detección de intrusos (IDS) para los cuales existen tipos de filtros específicos, lo cual brinda una ayuda destacable pero no suficiente.
Organismos como CISCO recomiendan soluciones sencillas como modificar el tamaño de la pila de TCP o disminuir el tiempo de espera de establecimiento de las conexiones e incluso han desarrollado hardware especifico para la tarea de prevención de este tipo de ataques.

Algunas consideraciones a tener en cuenta por ejemplo seria limitar las conexiones entrantes, por ejemplo si una empresa solo hace negocios en argentina, permitir solo conexiones entrantes desde dicho país, es decir que si alguien intenta conectarse desde china, europa, EEUU, etc. las peticiones de conexión sean rechazadas.

En una empresa hay que tener contemplado el costo de estar offline determinada cantidad de tiempo e incluir este tipo de ataques y el costo que esto indica dentro de la política de recuperación de desastres.
Existen empresas que se dedican a la defensa contra ataques DDOS que llegan a ofrecer lo que se le dice "ingestión de trafico" que se consigue  redirigiendo el trafico por sus servidores, analizándolo y solo dejando pasar lo que parezca legitimo.

Asimismo existen soluciones como scripts que si detectan mas de "x" conexiones de cierta IP la banea automáticamente.
Al aplicar este tipo de medidas hay que tener muy en cuenta los falsos positivos ya que no queremos banear la ip de nuestros usuarios, por lo que debemos conocer y estudiar nuestro trafico habitual.

Podemos decir que nadie esta a salvo de este tipos de ataques por lo tanto lo mejor que se puede hacer es prevenir, analizar el trafico buscando irregularidades y en el peor de los casos estar preparados para responder antes de que sea "demasiado tarde"



Espero haya sido claro y les sea de ayuda !
Saludos ! ;D
#17
Hola a todos !

Estoy analizando una pagina web con nmap y tengo una duda sobre para que sirve la salida del siguiente comando

Código: text
nmap --script http-title -sV -p 80 xxx.xx.xxx.57/24


En la salida de datos dice que se han encontrado 40 hosts vivos, entre los cuales da mucha informacion y nose bien como interpretarla
Ejemplos
En los que el puerto esta cerrado simplemente dice que son hosts en uso
Código: text
Nmap scan report for federico.bla.blabla.com (xxx.xx.xxx.2)
Nmap scan report for alarcostest.bla.blabla.com (xxx.xx.xxx.4)
Nmap scan report for pike.bla.blabla.com (xxx.xx.xxx.6)
Nmap scan report for visioncr.bla.blabla.com (xxx.xx.xxx.7)


En otros casos, donde el puerto esta abierto, da mas información

Código: text
Nmap scan report for sofocles.bla.blabla.com (xxx.xx.xxx.25)
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch)
|_http-server-header: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch
|_http-title: .:: Scientific Computing Group UCLM


o por ejemplo entradas parecidas en diferentes IPs con la siguiente información

Código: text
80/tcp open  http    Microsoft IIS httpd 7.0
|_http-server-header: Microsoft-IIS/7.0
|_http-title: IIS7
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Código: text

80/tcp open  http    Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9 PHP/5.4.16 mod_wsgi/3.4 Python/2.7.5)
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9 PHP/5.4.16 mod_wsgi/3.4 Python/2.7.5
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).


Porfavor si me podrian dar una pista si deberia analizar estos datos o si no sirve de mucho.

Gracias de antemano !
#18
Ideas y Sugerencias / "Mis Posts"
Febrero 21, 2018, 12:05:17 AM
Bueno he notado que no hay una manera de ver todos los posts que uno ha creado hasta el momento.

Creo que seria una buena idea poder tener una seccion asi, parecida a la parte de "Posts mentioning me".

Saludos !!
#19
GNU/Linux / Como mantener un Linux 'bonito'
Febrero 20, 2018, 03:35:46 AM
Que tal underc0ders ?!

A que me refiero con 'bonito' en el titulo, eh ?

Es que habitualmente uno quiere probar o instalar algun software y termina creando carpetas en /home/"mi usuario" o cuando desinstalas alguno que ya no necesitas siguen quedando paquetes innecesarios y demas

Asique algunas preguntas serian por ejemplo


  • ¿Cual seria el directorio apropiado para instalar software?
  • ¿Algun directorio en el que definitivamente NO se puedan instalar?
  • ¿Cual seria la mejor manera de desinstalarlos por completo?
  • ¿Es util utilizar diferentes particiones para '/' y /home?

Son solo algunas preguntas a modo de guia, la idea es que puedan comentar como hacen ustedes para mantener su sistema organizado



Un problema con el que me he encontrado, actualmente estoy usando debian, es que cuando quiero instalar en un directorio que solo se tiene acceso como root, hago por ej
Código: bash
-su
-cp instalador.tar.gz /opt
-etc etc

Y luego cuando quiero correr el programa me dice que no tiene acceso (o un mensaje por el estilo) supongo que sera porque lo estoy instalando como root y luego ejecutandolo como usuario normal..



Gracias a todos como siempre !
#20
Hola Underc0ders !  ;D

Hace poco encontre este libro de programacion en NetBeans, estoy estudiando JAVA hace poco, recien hice lo que fue la introduccion al lenguaje y en estas vacaciones lo he seguido bastante y me SUPER ayudo para entender el IDE, desarrollar programas desde el frontend, la logica y demas.

Lo encontre super didactico, interactivo e ideal para ir siguiendolo capitulo a capitulo.



No tienes permitido ver enlaces. Registrate o Entra a tu cuenta



Espero lo encuentren tan util como me fue para mi !

Saludos !!
#21
Comparto por aca esta carpeta de MEGA donde se puede encontrar material de practicamente lo que sea, desde programacion basica y avanzada, hasta administracion de redes, tutoriales Linux, cracking, cursos, etc.

Quiero aclarar que la obtuve cuando pasaron el link por el grupo de whatsapp y no me acuerdo quien era el propietario, aun asi esta es una copia en mi propia cuenta de mega.


Espero les sirva, saludos ! :D

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
#22
Hola gente !
Dejo la imagen de una topologia que hice para un curso que estoy haciendo, el objetivo del ejercicio era armar una red 'segura'
Asique me gustaria saber si alguien ve algo que este vulnerable, fuera de lugar o lo que sea



No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Gracias !!
[/font][/size]
#23
Hola Underc0ders !
Hace poco que empece a interesarme acerca del Hacking etico y la seguridad informatica, averiguando acerca de cursos en mi pais (Argentina) encontre este que es de modalidad a distancia. Me contacte con la gente, me llamaron para explicarme todo y en realidad me ha gustado.

El motivo del post es mas que nada para pedirles ayuda a la hora de evaluar el temario del curso y si vale la pena tomarlo, si esta bien armado o no.

Adjunto aca el temario del mismo (Mis disculpas si fui extenso ;D)



Temario


Módulo 1: Diseño de Redes Seguras (30 horas)

Este módulo cubrirá los conceptos generales de las redes de comunicación, los protocolos, los diferentes dispositivos y sus funciones y se lo preparará al alumno para poder armar, configurar y administrar una pequeña red fácilmente. Le permitirá al asistente poder planear, diseñar, estructurar e implementar una infraestructura de red informática de manera segura, protegiéndola de potenciales amenazas.

Introducción a las redes informáticas

Historia de las redes informáticas.
Modelo OSI// TCP-IP
Conceptos generales de redes
Tipos de Topologías

Instalación y Configuración de redes

Modelo TCP/IP
Direccionamiento IP   
Seguridad en Redes
Armado de una red (Práctica-Lab)

Redes informáticas potenciales riesgos

Amenazas y ataques
Servicios de red (Cuáles son, niveles de importancia, alcances de uso).
Potenciales ataques (Explicación + Práctica-Lab).

Redes informáticas seguridad aplicada

Dispositivos de seguridad (Funcionalidades y modos de uso)
Estructuración de una red segura.
Armado de una red segura (Práctica-Lab).



Módulo 2: Administración de Servidores (Windows ó Linux) (30 horas)

Este módulo introducirá al asistente al mundo de los servidores informáticos, existentes en toda infraestructura informática de mediana y alta gama. El alumno obtendrá los conceptos básicos referentes a la implementación, configuración, mantenimiento y soporte de servidores de infraestructura en tecnologías Windows o Linux.


Introducción a los servidores informáticos / Roles y Funciones

Conociendo Linux (Práctica-Lab)

Instalando y configurando nuestro servidor (Práctica-Lab).

Soporte, mantenimiento y solución de problemas (Práctica-Lab).



Módulo 3: Hardening (Windows Servers ó Linux Servers) (30 horas)

En este módulo se le presentarán al asistente las herramientas esenciales y las buenas prácticas necesarias para obtener el nivel máximo de seguridad en una red de servidores de arquitectura Microsoft Windows Server ó Linux Server, protegiéndola de potenciales amenazas.


Introducción a implementaciones de seguridad.

Configuraciones y Servicios (Parte 1)
Configuraciones de seguridad de OS (Práctica-Lab).
Servicios disponibles para instalar.

Configuraciones y Servicios (Parte 2)
Instalación y configuración básica de servicios (Práctica-Lab).
Seguridad Aplicada
Potenciales ataques (Lista y explicación + Práctica-Lab).
Escaneo de vulnerabilidades y comparación de resultados Antes-Después (Práctica-Lab).



Módulo 4: Ethical Hacking (90 horas)

Este módulo, de doce unidades didácticas, está diseñado para introducir al asistente en el mundo del Hacking, haciéndole conocer las herramientas y metodologías necesarias para realizar tareas de análisis de vulnerabilidades y tests de penetración, con una filosofía enfocada a la ética profesional.

Introducción sobre el Ethical Hacking

Conceptos sobre el Ethical Hacking.
Tareas del Ethical Hacker.

Metodos de Control de Vulnerabilidades
Vulnerability Assessment: Métodos.
Penetration Testing: Métodos.

Introducción sobre Criptografía
El ABC de la Criptografía.
Conceptos de sistemas criptográficos.
Implementación de sistemas criptográficos (Práctica-Lab).

Introducción sobre un Pentesting
El ABC del Pentesting


Reconocimiento Pasivo y Activo
Reconocimiento pasivo (Explicación y Práctica-Lab).
Reconocimiento activo (Explicación y Práctica-Lab).
Vulnerability Scanning (Explicación y Práctica-Lab).

Ingeniería Social.
Seguridad Wireless / Mobile.
System Hacking (Explicación y Práctica-Lab)/ Denegación de Servicio /
Password Cracking (Explicación y Práctica-Lab) / Phishing / Pharming (Explicación y Práctica-Lab).
Cross-Site scripting / SQL Injection (Explicación y Práctica-Lab)
Repaso general cursada Ethical Hacking



Duración
6 meses.

Carga horaria
180 horas.

Módulo 1: Diseño de Redes Seguras (30 horas)
Módulo 2: Administración de Servidores (Windows ó Linux) (30 horas)
Módulo 3: Hardening (Windows Servers ó Linux Servers) (30 horas)
Módulo 4: Ethical Hacking (90 horas)



Muchas gracias a todos antes que nada y ojala que le sirva a alguien este temario ya que estamos publicandolo jaja  ;D
#24
Presentaciones y cumpleaños / Hola a todos !
Julio 17, 2017, 01:17:13 PM
Hola comunidad Underc0de !
Primero que nada gracias a todos por formar parte de este grupo de personas que por lo que he visto y recorrido en el foro son muy atentos y dedicados a la hora de realizar sus aportes  ;D ;D

Soy nuevo en todo esto que llamamos Hacking y seguridad informatica, Es algo sobre lo que estoy aprendiendo de manera autodidacta y mientras mas leo/aprendo mas me gusta y apasiona !

comencé haciendo algunos cursos de programacion basica en codeacademy, Platzi, skillset, en fin varios cursos online gratuitos y "newbie-friendly"  :P
Adentrandome en este fantastico mundo fui leyendo sobre seguridad y hacking, y decidi que es el rumbo que quiero tomar, he leido varios pdf, videos en youtube, foros, etc. pero me siento avasallado ante la inmensidad de lo que es todo el tema, para ponerlo en otras palabras, creo que tengo talento para cocinar pero nose si arrancar haciendo un lemmon pie o si deberia cocinar comida asiatica ;D ;D

Asique aqui estoy haciendo una pregunta a todos ustedes, ¿como me recomendarian adentrarme en este mundo? ¿que conocimientos fundamentales debo tener?

Antes que nada muchisimas gracias a todos !
Saludos a todos desde Mar del Plata, Argentina.
Atte. un humilde newbie  :) :)