Monday, 7 May 2018

Weekly TrickBot Analysis - End of w/c 30-Apr-2018 to A-1000189, B-1000068, and C-1000185

Here are the results of my analysis of TrickBot Banking Trojan mcconfs shared up to the end of the week commencing 30th April 2018. This analysis covers 2,235 unique C2 IP addresses used in 421 mcconfs across 241 versions, with highest versions of A-1000189, B-1000068, and C-1000185.

Since its first use in approximately October 2016, TrickBot has frequently issued new versions of its XML configuration file, mcconf. Originally there was a single chain of config versions which started at 1000002. (There may have been a 1000001 but it is not been shared publicly.) I refer to this original sequence as iteration A. In November 2017 TrickBot mcconfs were issued for older version numbers than the current iteration A configs, but with different command and control (C2) servers to those in that version's iteration A config. This indicated the start of iteration B, a new sequence of configs believed to be for a second botnet. While there is some overlap of the C2 servers between iteration A and iteration B, the majority of C2 servers are specific to an iteration (hence botnet). As of late March 2018 another iteration, iteration C, was started, once again repeating previously used version numbers but with different C2 server lists.

The following graph shows the rate of discovery of TrickBot versions in the wild, based on shared mcconfs. The flatter the line, the more frequently versions are discovered. Ignore the long almost vertical lines which coincide with the switch from one iteration to the next. These vertical lines are purely an artefact of graphing the data in a single series. (Note: Full size versions of all the graphs and tables are available via the link at the end of this post.)

There were six new config versions discovered in the week commencing 30th April 2018 (A-1000187, A-1000188, A-1000189, C-1000183, C-1000184, and C-1000185), 11 the week before, and 11 the week before that. Of the six new config versions, three extend the iteration A botnet, taking this to 1000189. The secondary, iteration B, botnet was not extended in the discovered versions and remains unchanged since 1000068 of 28th February 2018. Three of the new config versions continue the tertiary, iteration C, botnet, taking it to 1000185.


TrickBot Version Discovery Dates

The following graph shows the number of server entries using ports:
  • 443 (HTTPS);
  • 444 (Simple Network Paging Protocol) -- INACTIVE;
  • 445 (IBM AS Server Mapper) -- INACTIVE;
  • 449 (Cray Network Semaphore Server); and 
  • 451 (SMB) -- INACTIVE.
As with the last few weeks, the iteration A configs have fluctuated in length at around 30 C2 servers. This week they reached 33 servers, a high not seen since December 2017. The iteration C configs continue at similar lengths to the iteration B ones from earlier in the year. So far, with a cap of 20 C2 servers in their lists and only :443 (HTTPS) servers used.

TrickBot SRV Port Usage

The following table shows the top 25 servers (of  2,235 unique) used within the 241 versions. This week the table underwent significant changes, as with last week. Nine of the servers were used in iteration A configs from this week, and so these all moved up the middle of the table.

TrickBot Top 25 SRV

The following table shows the breakdown of detected TrickBot campaign 'gtag' (group tags) values used in the 421 mcconfs analysed. (Yes, I know it's unreadable - it's just here as a guide to show what's in the downloadable zip file at the bottom of the post.)


TrickBot gtag Breakdown

71 C2 servers were used in the mcconfs from this week, of which 33 (46%) were new. The BGP prefix registrations for the C2 server IP addresses continue to be heavily biased to ASN routed through RU (and so the graph below's Y-axis is cut short to allow clearer viewing of other country counts). The new servers' IP addresses are associated with ASN routed to: 18xRU, 6xUA, 2xBG, 1xBR, 1xCZ, 1xFR, 1xIN, 1xLT, 1xNL, and 1xUS.

TrickBot SRV IP Address BGP Prefix Country Codes

The following map shows the geographical location of 61 (those with location data) of 61 (scanned by Shodan) of the 71 C2 server IP addresses used in the analysed configs.

According to Shodan's most recent data:
  • 12 are Ubiquiti devices.
  • 28 are running OpenSSH, 19 are running Dropbear SSH, 17 are running nginx, seven are running Apache, three are running IIS, two are running Exim, two are running Pure FTP, one is running MailEnable, and one is running MySQL.
TrickBot C2 Server IP Locations For New Configs

The following table shows the BGP allocations of C2 servers' IP addresses to country by TrickBot version. (Once again, I know it's unreadable - it's just here as a guide to show what's in the downloadable zip file at the bottom of the post.)

TrickBot SRV IP Address BGP Prefix Country Codes By Version

Finally, the following table shows the top 25 BGP prefixes used by TrickBot for C2 servers.

TrickBot Top 25 BGP Prefixes

Full size versions of the images included in this post are available here. I've also created a new page documenting the various discrepancies identified in TrickBot's mcconf files.

Thanks to @hasherezade, @mpvillafranca94, @JR0driguezB, @0bscureC0de, @virsoz, @spalomaresg, @VK_Intel, @K_N1kolenko, @botNET___, @ArnaudDlms, @StackGazer,@voidm4p, @James_inthe_box, @MakFLwana, @_ddoxer, @moutonplacide, @JasonMilletary,@Ring0x0, @precisionsec, @Techhelplistcom, @pollo290987, @MalHunters, @coldshell, @0x7fff9, @kobebryamV2, and @MalwareSecrets for sharing the mcconfs.