{
	"id": "5df52af3-efb6-4694-b945-1676bc151e2d",
	"created_at": "2026-04-06T00:08:10.977431Z",
	"updated_at": "2026-04-10T13:12:13.965142Z",
	"deleted_at": null,
	"sha1_hash": "141a5e6631ddb94b71563b38979c4bc7ce7ba24e",
	"title": "RansomEXX — Análise do Ransomware Utilizado no Ataque ao STJ",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 2147484,
	"plain_text": "RansomEXX — Análise do Ransomware Utilizado no Ataque ao\r\nSTJ\r\nBy Gustavo Palazolo\r\nPublished: 2020-11-16 · Archived: 2026-04-05 22:01:42 UTC\r\nAcreditamos que a grande maioria dos brasileiros souberam de um ataque cibernético que infelizmente ocorreu no\r\nSupremo Tribunal de Justiça recentemente. De acordo com a nota oficial:\r\n“O Superior Tribunal de Justiça (STJ) comunica que a rede de tecnologia da informação do tribunal\r\nsofreu um ataque hacker, nessa terça-feira (3), durante o período da tarde, quando aconteciam as\r\nsessões de julgamento dos colegiados das seis turmas. A presidência do tribunal já acionou a Polícia\r\nFederal para a investigação do ataque cibernético.”\r\nAlém da nota oficial, o Departamento de Segurança da Informação (DSI), publicou duas notas com informações\r\ntécnicas sobre o ataque, incluindo o hash (MD5/SHA1) de dois arquivos:\r\n(notepad.exe) — 9df15f471083698b818575c381e49c914dee69de\r\n(svc-new/svc-new) — 3bf79cc3ed82edd6bfe1950b7612a20853e28b09\r\nApesar dos detalhes técnicos da nota, pouco sabe-se sobre o ataque e sobre o funcionamento dos artefatos acima.\r\nO primeiro deles (notepad.exe) é um loader conhecido por Vatet, que deixaremos de fora do artigo, pois ele está\r\nsendo analisado no canal Papo Binário, confere lá!\r\nAinda sobre a nota, o incidente teve proporções críticas, a área de TI do STJ recomendou aos usuários —\r\nministros, servidores, estagiários e terceirizados — que não utilizem computadores, ainda que os pessoais, que\r\nestejam conectados com algum dos sistemas informatizados da Corte, até que seja garantida a segurança do\r\nprocedimento.\r\nCom isso em mente, eu e mais dois amigos, Ialle Teixeira e Felipe Duarte, fizemos uma análise do segundo\r\narquivo e resolvemos publicar aqui, com o único intuito de mostrar a engenharia reversa do malware e talvez\r\najudar as pessoas a entenderem seu funcionamento e de alguma forma, contribuir com mais informações úteis para\r\nos órgãos de interesse.\r\nRansomEXX\r\nO arquivo pertence a uma família de ransomware conhecida por RansomEXX, ou Defray777. Ao longo do ano de\r\n2020, este ransomware ficou conhecido devido a grandes ataques, como o que ocorreu no Departamento de\r\nTransporte do Texas (TxDOT).\r\nAté o começo de novembro de 2020, somente versões Windows do RansomEXX haviam sido detectadas,\r\ncontudo, uma variante para Linux foi recentemente descoberta e publicada pela Kaspersky.\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 1 of 13\n\nFerramenta DIE mostrando detalhes sobre o arquivo.\r\nO arquivo publicado pelo DSI é justamente uma versão do RansomEXX para Linux, sendo um binário ELF de 64-\r\nbits compilado com GCC, como indica a imagem acima.\r\nA primeira coisa a se notar é que o malware não possui técnicas anti-análise e nem ofuscação no código ou nas\r\nstrings.\r\nPress enter or click to view image in full size\r\nParte das strings do RansomEXX.\r\nOutro ponto é que o arquivo foi compilado com as informações de debug, ou seja, através de engenharia reversa,\r\npodemos obter detalhes interessantes como nome de variáveis e métodos utilizado pelo atacante.\r\nNas próximas seções, iremos mostrar os detalhes das principais funções do RansomEXX.\r\nmain()\r\nA função “main” do malware é responsável por:\r\n1. Chamar a função “GeneratePreData”, que cria o contexto de criptografia;\r\n2. Criar uma thread que executa a mesma função a cada 0.18 segundos, gerando novas chaves de\r\ncriptografia;\r\n3. Encriptar os arquivos de um determinado path, que foi passado via argumento na linha de comando de\r\nexecução.\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 2 of 13\n\nPseudocode em C da função “main()” do RansomEXX.\r\nGeneratePreData\r\nEssa função é responsável por gerar a chave de criptografia que será utilizada pelo malware. Para isso, ele utiliza\r\numa biblioteca open-source chamada mbedtls.\r\nPress enter or click to view image in full size\r\nRepresentação gráfica das funções, geradas pelo IDA.\r\nNa primeira etapa da função, o malware gera um valor que é utilizado no parâmetro “custom” da função\r\n“mbedtls_ctr_drbg_seed”.\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 3 of 13\n\nPrimeira parte da função “GeneratePreData”.\r\nPara isso, ele chama a função “time”, que retorna a data atual representada em um valor de 4 bytes, por exemplo:\r\nValor hexadecimal retornado pela função “time”.\r\nEste valor é então passado para a função srand, que alimentará as quatro chamadas subsequentes da função rand.\r\nO resultado destas chamadas são então concatenados em uma string de 32 caracteres, parecido com um hash\r\nMD5.\r\nString gerada pela concatenação dos valores srand + rand.\r\nEste valor é utilizado para garantir que a inicialização da chave de criptografia sempre tenha um ponto de partida\r\ndiferente, a própria biblioteca possui um tutorial mostrando a utilização deste valor na função\r\n“mbedtls_ctr_drbg_seed”.\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 4 of 13\n\nExemplo de utilização do método “mbedtls_ctr_drbg_seed”.\r\nPara finalizar, o autor do malware utilizou a função “mbedtls_ctr_drbg_random” para gerar uma chave de\r\ncriptografia aleatória de 256 bits.\r\nUltima etapa da geração da chave de criptografia.\r\nA criação da chave de criptografia pode ser resumida com a seguinte representação em C:\r\nPress enter or click to view image in full size\r\nPseudocode em C, representando a criação da chave de criptografia.\r\nComo vamos mostrar mais pra frente, este ransomware faz a utilização de múltiplas threads para acelerar o\r\nprocesso de criptografia. Enquanto uma thread gera a chave, a outra é responsável por encriptar os arquivos. Para\r\nler a chave, o malware faz a utilização de mutex, através da função pthread_mutex_lock e pthread_mutex_unlock.\r\nPress enter or click to view image in full size\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 5 of 13\n\nMalware copiando a chave de criptografia, que será lida por outra thread.\r\n1. O mutex é travado, indicando para as outras threads que a chave de criptografia não pode ser acessada\r\nainda;\r\n2. A chave de criptografia nova é copiada para uma variável, que será lida por outras threads;\r\n3. O mutex é destravado, indicando que o valor já pode ser acessado.\r\nJá na função responsável por encriptar os arquivos, que mostraremos ao longo do post, a mesma lógica é utilizada:\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 6 of 13\n\n1. O mutex é travado, indicando que a chave está sendo lida pela função;\r\n2. A chave de criptografia é utilizada;\r\n3. O mutex é destravado, indicando que o endereço está livre para receber novas chaves.\r\nEsta lógica permite que tanto na hora de gerar a chave quanto na hora de utilizá-la, nenhum valor seja corrompido,\r\npois ela só poderá ser lida/alterada quando o mutex estiver liberado.\r\nGet Gustavo Palazolo’s stories in your inbox\r\nJoin Medium for free to get updates from this writer.\r\nRemember me for faster sign in\r\nEm resumo, para encriptar os arquivos, o malware gera uma chave aleatória de 256-bit a cada 0.18 segundos, que\r\né lida por uma outra thread, que está encriptando os arquivos.\r\nOk, mas se a chave de criptografia é gerada dinamicamente e possui um valor novo a cada 0.18 segundos, como o\r\natacante sabe qual chave utilizar na hora de descriptografar os arquivos?\r\nPara recuperar a chave utilizada, o malware encripta o valor utilizando uma chave RSA-4096 pública que está\r\npresente no binário:\r\nPress enter or click to view image in full size\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 7 of 13\n\nChave RSA pública do atacante.\r\nApós encriptar a chave, o valor é salvo junto com o arquivo encriptado, garantindo que somente o atacante possa\r\nsaber qual foi o valor utilizado na criptografia, para então decifrá-lo.\r\nEnumFiles\r\nConforme mostramos na imagem do pseudocode da “main”, esta função recebe como parâmetro o caminho de\r\nonde estão os arquivos a serem encriptados.\r\nRepresentação gráfica das funções, geradas pelo IDA.\r\nEm primeiro lugar, a função cria múltiplas threads que chamam a função “encrypt_worker”, que contém o\r\ncódigo responsável por encriptar os arquivos.\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 8 of 13\n\nMalware criando threads para executar a função “encrypt_worker”.\r\nAlém disso, ele também chama a função “list_dir”, que lista todo o diretório e executa a função\r\n“ReadMeStoreForDir”, que cria a nota de resgate no mesmo local, com o nome de “!NEWS_FOR_STJ!.txt”.\r\nNome da nota de resgate.\r\nApós criar o arquivo, o conteúdo é escrito usando a função “fwrite”.\r\nPress enter or click to view image in full size\r\nConteúdo da nota de resgate.\r\nA nota de resgate possui informações para que o STJ entre em contato com o atacante. Vale ressaltar que o email\r\ndeixado para contato foi reportado como abuse e removido pela ProtonMail, o que possivelmente pode dificultar o\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 9 of 13\n\ncontato com o autor do ataque, como podemos ver no teste abaixo:\r\nPress enter or click to view image in full size\r\nEmail da nota de resgate inválido.\r\nCryptOneFile / CryptOneBlock\r\nConforme mencionado acima, a função “encrypt_worker” será executada em uma thread separada e será\r\nresponsável por executar o código que irá efetivamente encriptar o arquivo. Para cada arquivo, a função\r\n“CryptOneFile” é chamada.\r\nChamada para o CryptOneFile.\r\nDentro da “CryptOneFile”, a chave gerada pela outra thread é acessada conforme mostramos nas etapas acima,\r\ninicializando uma criptografia AES, com as funções mbedtls_aes_init e mbedtls_aes_setkey_enc.\r\nUma vez inicializada, o arquivo é encriptado em blocos pela função “CryptOneBlock”, que encripta o arquivo\r\nutilizando AES no modo ECB.\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 10 of 13\n\nPress enter or click to view image in full size\r\nChamada para a função que encripta os dados, utilizando AES+ECB.\r\nSTJ x Departamento de Transportes do Texas\r\nVale ressaltar também a comparação entre o ransomware utilizado no ataque ao Departamento de Transporte do\r\nTexas (TxDOT), pois existe uma grande similaridade entre os binários, que são da mesma família:\r\nPress enter or click to view image in full size\r\nFunção que escreve a nota de resgate nos dois executáveis, tendo somente o texto alterado.\r\nPress enter or click to view image in full size\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 11 of 13\n\nFunção que inicializa e lê a chave de criptografia, nos dois executáveis.\r\nAlém de levantar diversas hipóteses, também podemos perceber a importância do uso da inteligência gerada a\r\npartir de outros incidentes, como possibilidade e melhoria de novos mecanismos de proteção, como uma simples\r\nregra via YARA ou qualquer outra tecnologia.\r\nComo podemos ver abaixo, os dois executáveis possuem 99% de similaridade:\r\nResultado da ferramenta BinDiff, comparando os dois executáveis.\r\nDemonstração\r\nPara demonstrar o funcionamento do ransomware, gravamos um pequeno vídeo executando-o em uma VM Linux\r\n(Ubuntu).\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 12 of 13\n\nDemonstração do funcionamento do RansomEXX.\r\nConclusão\r\nNeste post mostramos os principais detalhes técnicos do ransomware utilizado no ataque ao STJ. O principal\r\nobjetivo do malware é somente a criptografia dos arquivos, o que é uma operação incomum se compararmos com\r\nas famílias de ransomware mais recentes, onde há comunicação com C2 e funcionalidades adicionais.\r\nLamentamos muito o ocorrido com o STJ e esperamos ter contribuído com alguma informação útil, vale ressaltar\r\nque estamos à disposição do governo para auxiliar em qualquer análise adicional.\r\nVale lembrar que tanto a análise do arquivo e o artigo foram produzidos no dia de hoje, 15 de Novembro de 2020,\r\ncaso o artigo possua algum erro, por gentileza, agradecemos qualquer feedback.\r\nIOCs\r\nArquivo:\r\nNome: svc-new/svc-new\r\nSHA256: 08113ca015468d6c29af4e4e4754c003dacc194ce4a254e15f38060854f18867\r\nMITRE:\r\nData Encrypted for Impact https://attack.mitre.org/techniques/T1486/\r\nID: T1486\r\nFontes\r\nhttp://www.stf.jus.br/portal/cms/verNoticiaDetalhe.asp?idConteudo=454634\r\nhttps://www.ctir.gov.br/arquivos/alertas/2020/alerta_especial_2020_07_atualizacao_ataques_de_ransomware.pdf\r\nhttps://attack.mitre.org/techniques/T1486/\r\nhttps://attack.mitre.org/mitigations/M1053/\r\nhttps://www.ctir.gov.br/arquivos/alertas/2020/alerta_2020_03_ataques_de_ransomware.pdf\r\nTexto revisado pela Jornalista Aline Palazolo Eiras.\r\nSource: https://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nhttps://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195\r\nPage 13 of 13",
	"extraction_quality": 1,
	"language": "ES",
	"sources": [
		"Malpedia"
	],
	"origins": [
		"web"
	],
	"references": [
		"https://gustavopalazolo.medium.com/ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195"
	],
	"report_names": [
		"ransomexx-an%C3%A1lise-do-ransomware-utilizado-no-ataque-ao-stj-918001ec8195"
	],
	"threat_actors": [],
	"ts_created_at": 1775434090,
	"ts_updated_at": 1775826733,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/141a5e6631ddb94b71563b38979c4bc7ce7ba24e.pdf",
		"text": "https://archive.orkl.eu/141a5e6631ddb94b71563b38979c4bc7ce7ba24e.txt",
		"img": "https://archive.orkl.eu/141a5e6631ddb94b71563b38979c4bc7ce7ba24e.jpg"
	}
}