Zum Inhalt springen

YARA · Signature Base (Florian Roth / Nextron)

SIGNATURE_BASE_WEBSHELL_PAS_Webshell_Perlnetworkscript

Detects PERL scripts created by P.A.S. webshell

WebshellSignature Base (Florian Roth / Nextron)Detection Rule License 1.1Kompiliert mit YARA-X (mit Warnungen)
Autor
FR/ANSSI/SDO
Datum
2021-02-15
Geändert
2024-05-25
Score / Qualität
90 / 85

Was diese Regel erkennt

Detects PERL scripts created by P.A.S. webshell

Sie definiert 5 Muster (5 Text, 0 Hex, 0 Regex).

YARA-X meldet: warning[unintended_pattern_in_set]: pattern `$pl_start` may be unintendedly or redundantly included in pattern set `$pl*`

Zusammenfassung aus den Metadaten und der Bedingung der Regel erzeugt.

Regelquelltext

webshell-pas-webshell-perlnetworkscript.yarDetection Rule License 1.1
rule SIGNATURE_BASE_WEBSHELL_PAS_Webshell_Perlnetworkscript : FILE
{
	meta:
		description = "Detects PERL scripts created by P.A.S. webshell"
		author = "FR/ANSSI/SDO"
		id = "1625b63f-ead7-5712-92b4-0ce6ecc49fd4"
		date = "2021-02-15"
		modified = "2024-05-25"
		reference = "https://www.cert.ssi.gouv.fr/uploads/CERTFR-2021-CTI-005.pdf"
		source_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/yara/apt_sandworm_centreon.yar#L44-L62"
		license_url = "https://github.com/Neo23x0/signature-base/blob/94a1c48d7ab499879287ff611dfe7f9c56376030/LICENSE"
		logic_hash = "b170c07a005e737c8069f2cc63f869d4d3ff6593b3bfca5bcaf02d7808da6852"
		score = 90
		quality = 85
		tags = "FILE"

	strings:
		$pl_start = "#!/usr/bin/perl\n$SIG{'CHLD'}='IGNORE'; use IO::Socket; use FileHandle;"
		$pl_status = "$o=\" [OK]\";$e=\" Error: \""
		$pl_socket = "socket(SOCKET, PF_INET, SOCK_STREAM,$tcp) or die print \"$l$e$!$l"
		$msg1 = "print \"$l OK! I\\'m successful connected.$l\""
		$msg2 = "print \"$l OK! I\\'m accept connection.$l\""

	condition:
		filesize < 6000 and ( $pl_start at 0 and all of ( $pl* ) ) or any of ( $msg* )
}

Strings (5 Muster)

BezeichnerTypWertModifikatoren
$pl_startText"#!/usr/bin/perl\n$SIG{'CHLD'}='IGNORE'; use IO::Socket; use FileHandle;"
$pl_statusText"$o=\" [OK]\";$e=\" Error: \""
$pl_socketText"socket(SOCKET, PF_INET, SOCK_STREAM,$tcp) or die print \"$l$e$!$l"
$msg1Text"print \"$l OK! I\\'m successful connected.$l\""
$msg2Text"print \"$l OK! I\\'m accept connection.$l\""

Bedingung

filesize < 6000 and ( $pl_start at 0 and all of ( $pl* ) ) or any of ( $msg* )

In Worten (Heuristik)

  • Die Datei muss kleiner als 6000 sein (eine günstige Grenze, die große Dateien ausschließt).
  • Alle Muster aus ( $pl* ) müssen treffen.
  • Mindestens ein Muster aus ( $msg* ) muss treffen.
  • Muster $pl_start muss an Offset 0 stehen.

Diese Regel im Browser testen

Legen Sie eine Datei ab, um sie mit dieser Regel und YARA-X als WebAssembly zu scannen. Nichts wird hochgeladen.

Datei hier ablegen oder klicken zum AuswählenLokal mit YARA-X gescannt. Dateien bis 200 MB.

Im Editor öffnen

Referenzen

Lizenz & Namensnennung

Autor: FR/ANSSI/SDO

Quell-Repository: Signature Base (Florian Roth / Nextron) @ 94a1c48d7a

Lizenz: Detection Rule License 1.1 (Repository-Lizenz)

Originalregel

Gespiegelt über YARA Forge 20260927, das Regelnamen mit der Quelle präfixiert und normalisierte Meta-Felder ergänzt.

Regel-ID: 1625b63f-ead7-5712-92b4-0ce6ecc49fd4

Tags:FILE