{
	"id": "63c38af6-f525-4d25-8436-4cb7772a5f70",
	"created_at": "2026-04-06T00:19:29.966153Z",
	"updated_at": "2026-04-10T13:12:00.900817Z",
	"deleted_at": null,
	"sha1_hash": "852f6760619e6c592285b1c61259658a623da620",
	"title": "CSI MacMark: Janicab",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 346316,
	"plain_text": "CSI MacMark: Janicab\r\nArchived: 2026-04-05 19:17:47 UTC\r\nDa ich den Janicab-\"Trojaner\" nicht \"in the wild\" auftreiben konnte, hatte ich Thomas von The Safe Mac um Rat\r\ngefragt. Er gab mir den Hinweis, bei VirusTotal anzufragen, ob sie mir Zugriff auf ihre Malware-Samples geben.\r\nDank VirusTotal bin ich nun in der Lage, diesen Artikel als Fortsetzung von Trojanisches Pferd Janicab erledigt zu\r\nschreiben.\r\nDie Berichte, die ich sonst so lesen konnte, sind mir zu wenig. Manche schreiben, es würde gar keine\r\nWarnmeldung angezeigt, was nicht stimmt. Und ich vermisse Hilfestellung für den normalen User, Infos darüber,\r\nwie er sich mit Bordmitteln schützen kann. Aus dem Grund mache ich hier eine kleine \"Crime Scene\r\nInvestigation\" aus der Serie \"CSI:MacMark\".\r\nÖffnen oder nicht?\r\nAls Janicab frisch unterwegs war, bekam man, wenn man ihn doppelklickte, eine teils falschrum geschriebene\r\nWarnmeldung angezeigt, die verkündet, daß es sich um eine Anwendung handelt. Falschrum, weil der Dateiname\r\nein Sonderzeichen für Leserichtungswechsel enhält. Die Meldung kommt, weil die üblichen Netzprogramme von\r\nOS X ein Quarantäne-Flag auf ihre Downloads setzen. Ist das Ding ausführbar, wird der Benutzer gewarnt.\r\nLeider ist die Standardeinstellung in OS X, daß Datei-Endungen nicht angezeigt werden. Das ist keine gute Idee,\r\nweil man damit auf eine Kontrollstelle verzichtet.\r\nJanicab ohne eingeschaltete Dateinamen-Erweiterungen im Finder.\r\nViel verdächtiger sieht das Trojanische Pferd aus, wenn man sich Datei-Endungen anzeigen läßt.\r\nhttps://www.macmark.de/blog/osx_blog_2013-08-a.php\r\nPage 1 of 9\n\nJanicab mit eingeschalteten Dateinamen-Erweiterungen im Finder.\r\nIn jedem Fall kann man aber die Info-Box aufrufen, bevor man etwas doppelklickt. In diesem Fall sagt sie\r\neindeutig, daß es sich bei dem \"PDF\" um eine Application handelt, und, daß sie tatsächlich eine komische\r\nDoppelendung hat.\r\nhttps://www.macmark.de/blog/osx_blog_2013-08-a.php\r\nPage 2 of 9\n\nDie Infobox von Janicab zeigt, daß es ein Programm ist und den tatsächlichen Namen.\r\nSignierte Malware\r\nJanicab ist eine signierte Mac-Application, die ein Wrapper um Python-Skripte ist. Im Terminal kann man sich die\r\nDetails der Signatur ansehen:\r\nGoldCoast:Desktop joeuser$ codesign -vvvd RecentNews.fdp.app/\r\nExecutable=/Users/joeuser/Desktop/RecentNews.fdp.app/Contents/MacOS/installer\r\nIdentifier=org.pythonmac.unspecified.installer\r\nFormat=bundle with Mach-O universal (i386 x86_64)\r\nhttps://www.macmark.de/blog/osx_blog_2013-08-a.php\r\nPage 3 of 9\n\nCodeDirectory v=20100 size=344 flags=0x0(none) hashes=10+3 location=embedded\r\nHash type=sha1 size=20\r\nCDHash=ee045a751fb61e33b353b0c91796cc3d4e8fc37b\r\nSignature size=8510\r\nAuthority=Developer ID Application: Gladys Brady\r\nAuthority=Developer ID Certification Authority\r\nAuthority=Apple Root CA\r\nTimestamp=23 Apr 2013 11:34:48\r\nInfo.plist entries=21\r\nSealed Resources version=1 rules=4 files=21\r\nInternal requirements count=1 size=196\r\nDiese Signatur macht es für Apple einfach, die Malware aus dem Verkehr zu ziehen. OS X bekommt von Apple\r\nInfos über ungültige Entwickler-Zertifikate. Nach kurzer Zeit hatte Apple offenbar das Zertifikat von Gladys\r\nBrady deaktiviert. Seitdem sieht man beim Öffnen des Schadprogrammes eine andere Meldung:\r\nJanicab kann per Doppelklick im Finder nicht mehr geöffnet werden (deutsch).\r\nJanicab kann per Doppelklick im Finder nicht mehr geöffnet werden (englisch).\r\nWie schon erwähnt, kommt die Meldung falschrum. Das allerdings nur, wenn man sich die Dateinamen-Erweiterungen im Finder nicht anzeigen läßt. Aktiviert man sie, dann ist die Meldung auch im Klartext richtigrum\r\nlesbar:\r\nhttps://www.macmark.de/blog/osx_blog_2013-08-a.php\r\nPage 4 of 9\n\nJanicab-Warnmeldung mit eingeschalteten Dateinamen-Erweiterungen im Finder.\r\nDarum nochmals der Hinweis: Schaltet im Finder die Dateinamen-Erweiterungen ein!\r\nTestlauf in der Sandbox\r\nAn der Signatur oben sieht man, daß die ausführbare Datei im Application-Bundle an der üblichen Stelle liegt und\r\nhier \"installer\" heißt. Damit deutet die Malware schon an, was sie tut. Man sieht, daß die App 32- und 64-Bit-Systeme nativ unterstützt.\r\nGoldCoast:MacOS joeuser$ file installer\r\ninstaller: Mach-O universal binary with 2 architectures\r\ninstaller (for architecture i386): Mach-O executable i386\r\ninstaller (for architecture x86_64): Mach-O 64-bit executable x86_64\r\nManche Seiten schreiben, es handele sich um eine Multiplattform-Malware. Allerdings läuft dieses Exemplar nur\r\nauf OS X. Die Schwester-Malware für Windows ist eine andere Geschichte. Sie ist also nicht wirklich\r\nplattformübergreifend, sondern speziell für jedes Betriebssystem.\r\nUm zu schauen, was Janicab wohl anstellen möchte, starte ich ihn in einer Sandbox, die sowohl das Schreiben von\r\nDateien als auch Netzverkehr unterbindet. Außerdem schalte ich Debug-Ausgaben ein, um zu erfahren, was er tut:\r\nGoldCoast:MacOS joeuser$ sandbox-exec -p \"(version 1) (allow default) (deny network*) (deny file-writ\r\nmkdir: /Users/joeuser/.t: Operation not permitted\r\nTraceback (most recent call last):\r\n File \"/Users/joeuser/Desktop/RecentNews.fdp.app/Contents/Resources/__boot__.py\", line 65, in\r\n _run()\r\n File \"/Users/joeuser/Desktop/RecentNews.fdp.app/Contents/Resources/__boot__.py\", line 60, in _run\r\n exec(compile(source, path, 'exec'), globals(), globals())\r\n File \"/Users/joeuser/Desktop/RecentNews.fdp.app/Contents/Resources/installer.py\", line 49, in\r\n shutil.copy(fullName,workdir)\r\n File \"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py\", line 119,\r\n File \"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py\", line 83, i\r\nIOError: [Errno 1] Operation not permitted: '/Users/joeuser/.t'\r\nhttps://www.macmark.de/blog/osx_blog_2013-08-a.php\r\nPage 5 of 9\n\n2013-08-01 09:48:34.833 installer[6961:d07] installer Error\r\n2013-08-01 09:48:45.209 installer[6961:3007] Persistent UI failed to open file file://localhost/Users\r\nEr versucht ein Verzeichnis \".t\" anzulegen in Home des Users. Der Punkt sorgt dafür, daß das Verzeichnis im\r\nFinder normalerweise nicht angezeigt wird. Wenn man Janicab ohne Sandbox laufen läßt, dann legt einen Cronjob\r\nfür den User an, der die in .t gespeicherten Dateien verwendet:\r\ncrontab -l\r\n* * * * * python ~/.t/runner.pyc\r\nAugrund meiner Sandbox kann Janicab nicht tun, was er will, und endet mit einem Fehler.\r\nDie in meiner Sandbox gestartete Malware wird in ihrer Aktion behindert und ist nicht weiter lauffähig. Ich muß\r\nsie erstmal zwingend beenden und sehe die App auch im Dock.\r\nJanicab als laufendes Programm im Dock, also ganz offensichtlich kein Dokument.\r\nDie Dateien, die Janicab in das Verzeichnis kopiert, wenn er normal ausgeführt wird, zeigen, daß er Kommandos\r\nvon außen abholen möchte, Screenshots und Tonaufnahmen macht. Die Screenshots landen erstmal unter\r\n/tmp/cur.jpg. Für Sound-Aufgaben verwendet Janicab SoX, the Swiss Army knife of sound processing programs,\r\nein Open Source Kommandozeilen-Tool für Sound-Verarbeitung. Wenn ich es direkt aufrufe, bestätigt es seine\r\nIdentität:\r\nhttps://www.macmark.de/blog/osx_blog_2013-08-a.php\r\nPage 6 of 9\n\nsandbox-exec -p \"(version 1) (allow default) (deny network*) (deny file-write*) (debug deny)\" ./sox\r\n./sox: SoX v14.4.0\r\n./sox FAIL sox: Not enough input filenames specified\r\nUsage summary: [gopts] [[fopts] infile]... [fopts] outfile [effect [effopt]]...\r\nAls Sound-Format bevorzugt Janicab anscheinend OGG. Außerdem verwendet Janicab noch ein weiteres\r\nDrittprogramm, das er mitinstalliert: mt, die MouseTools:\r\nsandbox-exec -p \"(version 1) (allow default) (deny network*) (deny file-write*) (debug deny)\" ./mt\r\n \r\n MouseTools\r\n Created 31 July 2010 by Hank McShane\r\n version 0.5\r\n requires Mac OS X 10.4 or higher\r\n \r\n Updated 18 Nov 2012 by Hank McShane to v0.5\r\n - added leftClickNoRelease and releaseMouse at the request of a customer\r\n \r\n Updated 22 Feb 2011 by Hank McShane to v0.4\r\n - added a double click for the left mouse button\r\n \r\n Updated 31 August 2010 by Hank McShane to v0.3\r\n - fixed and issue where negative x or y values were not being read properly\r\n - fixed issue where the mouse cursor wasn't updating properly\r\n \r\n Updated 26 August 2010 by Hank McShane to v0.2\r\n - using simpler method to move the mouse: CGWarpMouseCursorPosition()\r\n - streamlined stepMouseToPoint()\r\n - added 64-bit builds for 10.5 and higher\r\n \r\n This foundation tool will help you perform things with your mouse.\r\n By default, Screen Coordinates are measured from the top-left\r\n corner of the screen but with the [-b] switch they can be measured\r\n from the bottom-left.\r\nJanicab holt sich Einstellungen von einem Server, benutzt anscheinend FTP und einen Skype-Recorder. Zumindest\r\ndeuten die Strings in StarterSettings.pyc darauf hin. In StarterCmdExec.pyc finden sich offenbar Funtionen für das\r\nSelbstupdate der Malware:\r\nCE: handleUpdate: starting update procedure.s!\r\nCE: Copied update file succefullys\r\n/tmp/s\r\nrm -f /tmp/R\r\nhttps://www.macmark.de/blog/osx_blog_2013-08-a.php\r\nPage 7 of 9\n\nCE: update: copy new files to work dirs+\r\n/tmp/installer.app/Contents/Resources/Libscs\r\nCE: copied: s\r\n to s\r\nCE: detele the update files\r\nrm -rf /tmp/installer.apps\r\nStarterNetUtils.pyc richtete augenscheinlich die Crontab ein, prüft, auf welcher Maximum-System-Version Safari\r\nläuft mit \"defaults read com.apple.Safari LastOSVersionSafariWasLaunchedOn\". Neben anderen Dingen, ist\r\ndieser Teil wohl auch für die Verbindungsaufnahme mit den Spitzbuben zuständig:\r\nStarting backConnect to R\r\nWrong parameters for backConnecti\r\n/bin/shs\r\nConnected to server at s\r\nEine Logdatei findet sich unter /tmp/starter.log. StarterRec.pyc kümmert sich um Tonaufnahmenim OGG-Format,\r\nderen Versandt und das Wegräumen selbiger. Unter anderem wird dazu benutzt:\r\nosascript -e 'do shell script \"~/.t/sox -q -V6 -d -t ogg s\r\n trim 0 01:00\"'t\r\nDer Teil StarterScreenShots.pyc verwendet die MouseTools und macht offenbar Screenshots, immer wenn die\r\nMaus bewegt wurde:\r\nSS: Starting SS Threadt\r\nSS: last mouse pos: s\r\nSS: new mouse pos: s\r\nSS: Creating new SS at: sN\r\nosascript -e 'do shell script \"/usr/sbin/screencapture -x -tjpg /tmp/cur.jpg\"'t\r\nshells\r\nSS: delete the ss files%\r\nSS: Same mouse position, Do Nothing..s\r\nInsgesamt ist es also ein Spionage-Tool, das allgemeine Informationen über das System, sammelt und verschickt,\r\nanscheinend auch Kommandos von außen abfragt. Zusätzlich fertigt es Tonaufnahmen und Screenshots an. Es ist\r\nauch damit zu rechnen, daß Skype mitgeschnitten wird. Das Schadprogramm prüft, ob seine Tools brav laufen und\r\naktualisiert sich bei Bedarf. Ehrlich gesagt ist mir ein bißchen übel nach dieser Kurz-Analyse.\r\nBeseitigung\r\nSollte der genannte Cronjob (siehe oben) mit \"crontab -l\" auftauchen oder andere angesprochene Dateien\r\naufzufinden sein, dann sollte man mit \"crontab -r;rm -rf ~/.t\" die Crontab leer machen, denn sie ist per Default auf\r\nhttps://www.macmark.de/blog/osx_blog_2013-08-a.php\r\nPage 8 of 9\n\nOS X leer und die Dateien unter ~/.t löschen. Anschließend bitte Ausloggen, damit eventuelle Prozesse auch\r\nbeendet werden. Dazu rät The Safe Mac und dem kann ich zustimmen.\r\nLatest Update: 11. September 2015 at 19:49h (german time)\r\nLink: www.macmark.de/blog/osx_blog_2013-08-a.php\r\nSource: https://www.macmark.de/blog/osx_blog_2013-08-a.php\r\nhttps://www.macmark.de/blog/osx_blog_2013-08-a.php\r\nPage 9 of 9",
	"extraction_quality": 1,
	"language": "DE",
	"sources": [
		"ETDA",
		"Malpedia"
	],
	"origins": [
		"web"
	],
	"references": [
		"https://www.macmark.de/blog/osx_blog_2013-08-a.php"
	],
	"report_names": [
		"osx_blog_2013-08-a.php"
	],
	"threat_actors": [
		{
			"id": "aa73cd6a-868c-4ae4-a5b2-7cb2c5ad1e9d",
			"created_at": "2022-10-25T16:07:24.139848Z",
			"updated_at": "2026-04-10T02:00:04.878798Z",
			"deleted_at": null,
			"main_name": "Safe",
			"aliases": [],
			"source_name": "ETDA:Safe",
			"tools": [
				"DebugView",
				"LZ77",
				"OpenDoc",
				"SafeDisk",
				"TypeConfig",
				"UPXShell",
				"UsbDoc",
				"UsbExe"
			],
			"source_id": "ETDA",
			"reports": null
		}
	],
	"ts_created_at": 1775434769,
	"ts_updated_at": 1775826720,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/852f6760619e6c592285b1c61259658a623da620.pdf",
		"text": "https://archive.orkl.eu/852f6760619e6c592285b1c61259658a623da620.txt",
		"img": "https://archive.orkl.eu/852f6760619e6c592285b1c61259658a623da620.jpg"
	}
}