Cita de: Lucas.AR en 25 Diciembre 2012, 19:25 PMMuchas gracias
Muy bueno che. Espectacular ese tema también jaja. Felicitaciones(Leo Gutierrez, demuestre)
Saludos
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úCita de: Lucas.AR en 25 Diciembre 2012, 19:25 PMMuchas gracias
Muy bueno che. Espectacular ese tema también jaja. Felicitaciones(Leo Gutierrez, demuestre)
Cita de: konarr en 21 Diciembre 2012, 00:20 AMEn principio para lo que tu pides, no bastaría con hacer un direct tcp en vez de reverse conection?
buenas, yo también pretendo algo similar, pero como mencionan primero estoy estudiando sobre sockets e hilos para comenzar con un chat, mi pregunta es si se podría modificar meterpreter para dejarlo como cliente y que se conecte al servidor ? onda como un troyano pero de cliente meterpreter para que así quede bien completo, ademas como meterpreter esta escrito en java pienso que se podría.
String url = new String();
url = "www.google.es";
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " +"http://"+url);
setToolTipText(String textoComplementario);
Cita de: itsukisekaiakiba en 22 Noviembre 2012, 19:32 PMLa idea básica, para hacer lo que tu pides, un escritorio remoto, sería la siguiente:
a que te refieres por sockets??? todo lo que haya sobre ellos o alguna klase en especial...
la verdad apenas estoy empezando y hay mucha informacion y es muy confuso.. pero agradezco tu respuesta
#include <iostream>
#include <windows.h>
#define PUERTO 8080
#include <process.h>
using namespace std;
WSADATA wsa;
SOCKET cliente;
sockaddr_in remoto;
int error();
void Thread( void* pParams )
{
if(WSAStartup(MAKEWORD(2,2), &wsa)){
}
remoto.sin_family = AF_INET;
remoto.sin_port = htons(PUERTO); // Puerto donde nos conectaremos
//remoto.sin_addr.S_un.S_addr = inet_addr("127.0.0.1"); // IP del servidor a donde nos conectaremos
remoto.sin_addr = *((in_addr*)gethostbyname("localhost")->h_addr); // Host a donde nos conectaremos
while(1){
cliente = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); // Protocolo TCP
if(cliente == INVALID_SOCKET){
}
if(connect(cliente, (sockaddr*)&remoto, sizeof(sockaddr))){ // Conectamos con el servidor
}
string buffer = "Hola, soy un cliente en C++!";
send(cliente, buffer.c_str(), buffer.length(), 0); // Enviamos un saludo
closesocket(cliente); // Finalmente desconectamos...
WSACleanup();
}
}
int main(){
_beginthread( Thread, 0, NULL );
return 0;
}
#include <iostream>
#include <windows.h>
#pragma comment(lib, "Ws2_32.lib")
#define PUERTO 8080
#include <pthread.h>
using namespace std;
WSADATA wsa;
pthread_t hilo;
SOCKET servidor, nueva_conexion;
sockaddr_in local;
int error();
int main(){
local.sin_port = htons(PUERTO);
local.sin_family = AF_INET;
local.sin_addr.S_un.S_addr = INADDR_ANY;
if(WSAStartup(MAKEWORD(2,2), &wsa)){
return error();
}
servidor = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(servidor == INVALID_SOCKET){
return error();
}
if(bind(servidor, (sockaddr*)&local, sizeof(sockaddr)) == SOCKET_ERROR){
return error();
}
if(listen(servidor, 1) == SOCKET_ERROR){
return error();
}
cout << "Servidor a la escucha por el puerto " << PUERTO << ", esperando conexión." << endl;
while(1){
do{
nueva_conexion = accept(servidor, NULL, NULL); // Esperamos una conexión entrante y la aceptamos.
} while(nueva_conexion == SOCKET_ERROR);
string mensaje = "Servidor C++!";
send(nueva_conexion, mensaje.c_str(), mensaje.length(), 0); // Enviamos un mensaje al cliente conectado
int bytes_recv;
char buffer[256];
memset(buffer, 0, sizeof(buffer)); // Limpiamos el buffer.
do{
bytes_recv = recv(nueva_conexion, buffer, sizeof(buffer), 0); // Esperamos para recibir datos...
} while(bytes_recv == 0 && bytes_recv != SOCKET_ERROR);
if(bytes_recv > 0){
cout << "Buffer: " << buffer << " - Bytes recibidos: " << bytes_recv << endl;
}
}
closesocket(nueva_conexion); // Lo desconectamos!
WSACleanup();
return 0;
}
int error(){
cout << "Error #" << GetLastError() << endl;
WSACleanup();
return 0;
}