Polícia prende hacker de 17 anos suspeito de mega-ataque ao Twitter

Graham Ivan Clark, morador da Flórida, será acusado como adulto de pelo menos 30 crimes relacionados ao ciberataque

Renato Mota, editado por Cesar Schaeffer 31/07/2020 16h07
arquivos hackeados
A A A

Autoridades federais dos Estados Unidos prenderam na Flórida um homem de 17 anos suspeito de ser responsável pelo ataque de grande escala que atingiu algumas das contas mais influentes da plataforma no último dia 15. Grandes nomes da tecnologia como Bill Gates, Elon Musk e Jeff Bezos tiveram suas contas invadidas, assim como empresas como Apple e Uber.


Graham Ivan Clark, morador de Tampa, foi preso e acusado como adulto em conexão com o incidente. A lei da Flórida permite que menores de 18 anos "sejam processados como adultos em casos de fraude financeira, quando apropriado". Clark enfrenta 30 acusações criminais relacionadas ao ciberataque, de acordo com um comunicado do escritório do procurador estadual de Hillsborough, Andrew Warren.

"Ele é um garoto de 17 anos que aparentemente acabou de se formar no ensino médio", disse Warren. “Mas não se engane, esse não era um garoto comum de 17 anos de idade. Este foi um ataque altamente sofisticado em uma magnitude nunca vista antes", afirmou o procurador.

O esquema consistia em roubar as identidades de pessoas proeminentes e depois postar mensagens em seus nomes, direcionando as vítimas a enviar Bitcoin para contas de sua propriedade. A procuradoria estadual disse que Clark recolheu mais de US$ 100 mil em Bitcoin em apenas um dia.

Na ação, os perfis roubados divulgavam basicamente a mesma mensagem com o endereço de uma carteira de bitcoins para tentar roubar os seguidores dessas personalidades e companhias gigantes. A promessa é que a criptomoeda depositada nessa conta seria devolvida em dobro. A "oferta" seria válida apenas por 30 minutos, para incentivar a ação rápida e impensada dos seguidores.

De acordo com a investigação, Clark ganhou acesso às contas do Twitter e aos controles internos da plataforma de mídia social por meio de um funcionário da empresa. O hacker então vendeu o acesso a essas contas e usou as identidades de pessoas proeminentes para solicitar dinheiro na forma de bitcoin.

Segundo o Twitter, das 130 contas que foram utilizadas durante o ataque, 36 tiveram suas DMs acessadas, incluindo uma do parlamentar holandês Geert Wilders. A empresa garante que "nenhum outro político eleito", está entre elas.

Entre políticos de destaque que foram vítimas estão o ex-presidente dos EUA, Barack Obama, e seu vice-presidente e atual candidato democrata à presidência do país, Joe Biden. Além deles, bilionários como os já citados Musk, Gates e Bezos, Michael Bloomberg e Warren Buffett foram vítimas, além de músicos como Kanye West.

O Twitter não divulgou uma lista das contas que tiveram suas DMs acessadas, e não está claro se o método de ataque não permitiu acesso às mensagens das 94 contas restantes, ou se os hackers simplesmente não se interessaram por elas.

Em resposta aos ataques, o Twitter suspendeu temporariamente a redefinição de senhas na plataforma. Contas verificadas foram impedidas de realizarem publicações, para coibir a propagação do golpe.

Clark enfrenta acusações de fraude organizada de mais de US$ 50 mil, 17 acusações de fraude em comunicações criminais, uma acusação de roubo de identidade agravado, dez acusações de roubo de identidade e uma acusação de ataque cibernético e acesso ilegal a um computador para promover um esquema de fraude. 

Via: Wall Street Journal/Tampa Bay

Segurança Hackers Twitter ciberataque cibersegurança ataque cibernético
Você faz compras Online? Não deixe de conferir a nova extensão do Olhar Digital que garante o preço mais baixo e ainda oferece testadores automáticos de cupons. Clique aqui para instalar.

Recomendados pra você

Resource id #4 em db-02 -> SELECT cnt.pk_id_conteudo, cnt.fk_id_usuario, cnt.fk_id_tipo_conteudo, cnt.fk_id_conteudo_status, cnt.url_fixa, cnt.titulo, cnt.descricao, cnt.texto, cnt.data_criacao, cnt.data_publicacao, cnt.data_expiracao, cnt.pro_carreiras, cnt.pro_industria, cnt.pro_tendencias, cnt.uolmais_id, cnt.uolmais_ativo, cnt.dailymotion_id, cnt.amp_md5, cnt.amp_texto, ntc.pk_id_noticia, ntc.fonte, vid.pk_id_video, pdc.pk_id_podcast, pst.pk_id_post, dwn.pk_id_download, blg.pk_id_blog, cln.pk_id_colunista, cln.nome AS cln_nome, cln.lbl_url AS cln_label, vid.sugestao_editor, vid.caminho_video_normal, vid.caminho_video_wide, vid.caminho_video_wmv, vid.caminho_video_720p, vid.caminho_video_1080p, vid.caminho_youtube, vid.duracao_segundos, vid.link_relacionado, vid.autor, vid.cod_programa, vid.anexo_nome, vid.anexo_descricao, vid.anexo_tamanho, vid.streaming, img1.caminho_arquivo AS img1_url, img1.width AS img1_width, img1.height AS img1_height, img1.titulo AS img1_titulo, img1.descricao AS img1_descricao, img1.autor_copyright AS img1_autor, img1.data AS img1_data, img2.caminho_arquivo AS img2_url, img2.width AS img2_width, img2.height AS img2_height, img2.titulo AS img2_titulo, img2.descricao AS img2_descricao, img2.autor_copyright AS img2_autor, img2.data AS img2_data, img5.caminho_arquivo AS img5_url, img5.width AS img5_width, img5.height AS img5_height, img5.titulo AS img5_titulo, img5.descricao AS img5_descricao, img5.autor_copyright AS img5_autor, img5.data AS img5_data, img7.caminho_arquivo AS img7_url, img7.width AS img7_width, img7.height AS img7_height, img7.titulo AS img7_titulo, img7.descricao AS img7_descricao, img7.autor_copyright AS img7_autor, img7.data AS img7_data, img9.caminho_arquivo AS img9_url, img9.width AS img9_width, img9.height AS img9_height, img9.titulo AS img9_titulo, img9.descricao AS img9_descricao, img9.autor_copyright AS img9_autor, img9.data AS img9_data, img1.caminho_arquivo_4x3 AS img1_4x3_url, img1.caminho_arquivo_9x16 AS img1_9x16_url, img1.caminho_arquivo_16x9 AS img1_16x9_url, img2.caminho_arquivo_4x3 AS img2_4x3_url, img2.caminho_arquivo_9x16 AS img2_9x16_url, img2.caminho_arquivo_16x9 AS img2_16x9_url, img5.caminho_arquivo_4x3 AS img5_4x3_url, img5.caminho_arquivo_9x16 AS img5_9x16_url, img5.caminho_arquivo_16x9 AS img5_16x9_url, img7.caminho_arquivo_4x3 AS img7_4x3_url, img7.caminho_arquivo_9x16 AS img7_9x16_url, img7.caminho_arquivo_16x9 AS img7_16x9_url, img9.caminho_arquivo_4x3 AS img9_4x3_url, img9.caminho_arquivo_9x16 AS img9_9x16_url, img9.caminho_arquivo_16x9 AS img9_16x9_url FROM cms_tbl_conteudo AS cnt IGNORE INDEX (fk_id_conteudo_status,fk_id_tipo_conteudo,data_expiracao,pro_carreiras,pro_industria,pro_tendencias,uolmais_id,dailymotion_id) LEFT JOIN cms_tbl_noticias AS ntc ON ntc.fk_id_conteudo=cnt.pk_id_conteudo LEFT JOIN cms_tbl_videos AS vid ON vid.fk_id_conteudo=cnt.pk_id_conteudo LEFT JOIN cms_tbl_podcasts AS pdc ON pdc.fk_id_conteudo=cnt.pk_id_conteudo LEFT JOIN cms_tbl_posts AS pst ON pst.fk_id_conteudo=cnt.pk_id_conteudo LEFT JOIN cms_tbl_download AS dwn ON dwn.fk_id_conteudo=cnt.pk_id_conteudo LEFT JOIN cms_tbl_blogs_new AS blg ON blg.pk_id_blog=pst.fk_id_blog LEFT JOIN cms_tbl_colunistas AS cln ON cln.pk_id_colunista=blg.fk_id_colunista LEFT JOIN cms_tbl_imagens AS img1 ON img1.pk_id_imagem=ntc.fk_id_imagem LEFT JOIN cms_tbl_imagens AS img2 ON img2.pk_id_imagem=vid.fk_id_imagem LEFT JOIN cms_tbl_imagens AS img5 ON img5.pk_id_imagem=pst.fk_id_imagem LEFT JOIN cms_tbl_imagens AS img7 ON img7.pk_id_imagem=pdc.fk_id_imagem LEFT JOIN cms_tbl_imagens AS img9 ON img9.pk_id_imagem=dwn.fk_id_imagem WHERE cnt.pk_id_conteudo=104434 LIMIT 0, 1 em 0.003

Resource id #4 em db-02 -> SELECT t.pk_id_tag AS id, t.tag AS tag FROM cms_tbl_conteudo_r_tags AS rt INNER JOIN cms_tbl_tags AS t ON t.pk_id_tag=rt.fk_id_tag WHERE rt.fk_id_conteudo=104434 em 0.002

Resource id #4 em db-02 -> SELECT id, assunto, url FROM alog_cnt_assuntos ORDER BY id em 0.001

Resource id #4 em db-02 -> SELECT r.id_assunto AS aid, r.id_tag AS tid, t.tag AS tag FROM alog_cnt_assuntos_tags AS r INNER JOIN cms_tbl_tags AS t ON t.pk_id_tag=r.id_tag em 0.007

Resource id #32 em db-01 -> SELECT ua.pk_id_usuario AS id_autor, ue.pk_id_usuario AS id_editor, TRIM(CONCAT(ua.nome, " ", ua.sobrenome)) AS autor_nome, ua.email AS autor_email, TRIM(CONCAT(ue.nome, " ", ue.sobrenome)) AS editor_nome, ue.email AS editor_email FROM cms_tbl_historico_relatorio AS h INNER JOIN ( SELECT MAX(pk_id_historico_relatorio) AS hid, fk_id_conteudo AS id_conteudo FROM cms_tbl_historico_relatorio WHERE fk_id_conteudo=104434 AND fk_id_usuario<>0 ) AS t ON t.hid=h.pk_id_historico_relatorio INNER JOIN cms_tbl_conteudo AS c ON c.pk_id_conteudo=t.id_conteudo LEFT JOIN cms_tbl_usuarios AS ue ON ue.pk_id_usuario=h.fk_id_usuario LEFT JOIN cms_tbl_usuarios AS ua ON ua.pk_id_usuario=c.fk_id_usuario em 0.002

Resource id #35 em db-02 -> SELECT GET_LOCK("lock_dblst_71_1_10_T0_104434_1_",0) AS locked em 0.001

Resource id #35 em db-02 -> /*LISTA: LST_MATERIAS_PREV_NEXT*/ SELECT cnt.pk_id_conteudo, cnt.url_fixa, cnt.titulo, cnt.descricao, cnt.texto, cnt.data_publicacao, cnt.fk_id_tipo_conteudo, cnt.fk_id_conteudo_status, cnt.pro_carreiras, cnt.pro_industria, cnt.pro_tendencias, cnt.uolmais_id, cnt.dailymotion_id, p_n.pos AS pos_ap, img1.caminho_arquivo AS img1, img1.caminho_arquivo_4x3 AS img4x3_1, img1.caminho_arquivo_9x16 AS img9x16_1, img1.caminho_arquivo_16x9 AS img16x9_1, img1.titulo AS img1_tit, img1.descricao AS img1_des, img1.autor_copyright AS img1_aut, cnt.uolmais_id AS vid_uolmais_id, cnt.dailymotion_id AS vid_dmotion_id, cnt.uolmais_ativo AS vid_uolmais_ativo, vid.caminho_video_baixa AS vid_cam_normal, vid.caminho_video_720p AS vid_cam_720p, vid.caminho_youtube AS vid_cam_youtube, img2.caminho_arquivo AS img2, img2.caminho_arquivo_4x3 AS img4x3_2, img2.caminho_arquivo_9x16 AS img9x16_2, img2.caminho_arquivo_16x9 AS img16x9_2, img2.titulo AS img2_tit, img2.descricao AS img2_des, img2.autor_copyright AS img2_aut FROM cms_tbl_conteudo AS cnt IGNORE INDEX (fk_id_conteudo_status,fk_id_tipo_conteudo,data_expiracao,pro_carreiras,pro_industria,pro_tendencias,uolmais_id,dailymotion_id) INNER JOIN ( (SELECT pk_id_conteudo AS id, "ant" AS pos FROM cms_tbl_conteudo WHERE pk_id_conteudo<104434 AND fk_id_tipo_conteudo IN (1,2) AND data_publicacao <= UNIX_TIMESTAMP(NOW()) AND fk_id_conteudo_status IN (2,9) ORDER BY id DESC LIMIT 0,1) UNION (SELECT pk_id_conteudo AS id, "prx" AS pos FROM cms_tbl_conteudo WHERE pk_id_conteudo>104434 AND fk_id_tipo_conteudo IN (1,2) AND data_publicacao <= UNIX_TIMESTAMP(NOW()) AND fk_id_conteudo_status IN (2,9) ORDER BY id ASC LIMIT 0,1) ) AS p_n ON p_n.id=cnt.pk_id_conteudo LEFT JOIN cms_tbl_noticias AS ntc ON ntc.fk_id_conteudo=cnt.pk_id_conteudo LEFT JOIN cms_tbl_imagens AS img1 ON img1.pk_id_imagem=ntc.fk_id_imagem LEFT JOIN cms_tbl_videos AS vid ON vid.fk_id_conteudo=cnt.pk_id_conteudo LEFT JOIN cms_tbl_imagens AS img2 ON img2.pk_id_imagem=vid.fk_id_imagem WHERE cnt.data_publicacao<=UNIX_TIMESTAMP(NOW()) AND cnt.fk_id_conteudo_status=2 AND cnt.fk_id_tipo_conteudo IN (1,2) ORDER BY cnt.data_publicacao DESC, cnt.pk_id_conteudo DESC LIMIT 0,10 em 0.003

Resource id #35 em db-02 -> SELECT rt.fk_id_conteudo AS cid, rt.fk_id_tag AS tid, t.tag AS tag FROM cms_tbl_conteudo_r_tags AS rt INNER JOIN cms_tbl_tags AS t ON t.pk_id_tag=rt.fk_id_tag WHERE rt.fk_id_conteudo IN (104433,104435) em 0.001

Resource id #35 em db-02 -> SELECT c.pk_id_conteudo AS id_conteudo, ua.pk_id_usuario AS id_autor, ue.pk_id_usuario AS id_editor, TRIM(CONCAT(ua.nome, " ", ua.sobrenome)) AS autor_nome, ua.email AS autor_email, TRIM(CONCAT(ue.nome, " ", ue.sobrenome)) AS editor_nome, ue.email AS editor_email FROM cms_tbl_historico_relatorio AS h INNER JOIN ( SELECT MAX(pk_id_historico_relatorio) AS hid, fk_id_conteudo AS id_conteudo FROM cms_tbl_historico_relatorio WHERE fk_id_conteudo IN (104433,104435) AND fk_id_usuario<>0 GROUP BY fk_id_conteudo ) AS t ON t.hid=h.pk_id_historico_relatorio INNER JOIN cms_tbl_conteudo AS c ON c.pk_id_conteudo=t.id_conteudo LEFT JOIN cms_tbl_usuarios AS ue ON ue.pk_id_usuario=h.fk_id_usuario LEFT JOIN cms_tbl_usuarios AS ua ON ua.pk_id_usuario=c.fk_id_usuario em 0.001

Resource id #35 em db-02 -> SELECT RELEASE_LOCK("lock_dblst_71_1_10_T0_104434_1_") AS released em 0.004

Resource id #35 em db-02 -> SELECT GET_LOCK("lock_dblst_64_1_20_T0_104434__",0) AS locked em 0.001

Resource id #35 em db-02 -> /*LISTA: LST_MATERIAS_RELACIONADAS_CMS*/ SELECT cnt.pk_id_conteudo, cnt.url_fixa, cnt.titulo, cnt.descricao, cnt.texto, cnt.data_publicacao, cnt.fk_id_tipo_conteudo, cnt.fk_id_conteudo_status, cnt.pro_carreiras, cnt.pro_industria, cnt.pro_tendencias, cnt.uolmais_id, cnt.dailymotion_id, img1.caminho_arquivo AS img1, img1.caminho_arquivo_4x3 AS img4x3_1, img1.caminho_arquivo_9x16 AS img9x16_1, img1.caminho_arquivo_16x9 AS img16x9_1, img1.titulo AS img1_tit, img1.descricao AS img1_des, img1.autor_copyright AS img1_aut, cnt.uolmais_id AS vid_uolmais_id, cnt.dailymotion_id AS vid_dmotion_id, cnt.uolmais_ativo AS vid_uolmais_ativo, vid.caminho_video_baixa AS vid_cam_normal, vid.caminho_video_720p AS vid_cam_720p, vid.caminho_youtube AS vid_cam_youtube, img2.caminho_arquivo AS img2, img2.caminho_arquivo_4x3 AS img4x3_2, img2.caminho_arquivo_9x16 AS img9x16_2, img2.caminho_arquivo_16x9 AS img16x9_2, img2.titulo AS img2_tit, img2.descricao AS img2_des, img2.autor_copyright AS img2_aut FROM cms_tbl_conteudo AS cnt IGNORE INDEX (fk_id_conteudo_status,fk_id_tipo_conteudo,data_expiracao,pro_carreiras,pro_industria,pro_tendencias,uolmais_id,dailymotion_id) INNER JOIN ( SELECT crel.id_relacionado AS id_conteudo, 9000000000-crel.id AS orderpos FROM cms_tbl_conteudos_relacionados AS crel WHERE fk_id_conteudo=104434 AND tipo='c' AND id_relacionado>0 ) AS rel ON rel.id_conteudo=cnt.pk_id_conteudo LEFT JOIN cms_tbl_noticias AS ntc ON ntc.fk_id_conteudo=cnt.pk_id_conteudo LEFT JOIN cms_tbl_imagens AS img1 ON img1.pk_id_imagem=ntc.fk_id_imagem LEFT JOIN cms_tbl_videos AS vid ON vid.fk_id_conteudo=cnt.pk_id_conteudo LEFT JOIN cms_tbl_imagens AS img2 ON img2.pk_id_imagem=vid.fk_id_imagem WHERE cnt.data_publicacao<=UNIX_TIMESTAMP(NOW()) AND cnt.fk_id_conteudo_status=2 AND cnt.fk_id_tipo_conteudo IN (1,2) ORDER BY cnt.data_publicacao+rel.orderpos DESC, cnt.pk_id_conteudo DESC LIMIT 0,20 em 0.003

Resource id #35 em db-02 -> SELECT rt.fk_id_conteudo AS cid, rt.fk_id_tag AS tid, t.tag AS tag FROM cms_tbl_conteudo_r_tags AS rt INNER JOIN cms_tbl_tags AS t ON t.pk_id_tag=rt.fk_id_tag WHERE rt.fk_id_conteudo IN (104270,104228,104087,104069,104029) em 0.001

Resource id #35 em db-02 -> SELECT c.pk_id_conteudo AS id_conteudo, ua.pk_id_usuario AS id_autor, ue.pk_id_usuario AS id_editor, TRIM(CONCAT(ua.nome, " ", ua.sobrenome)) AS autor_nome, ua.email AS autor_email, TRIM(CONCAT(ue.nome, " ", ue.sobrenome)) AS editor_nome, ue.email AS editor_email FROM cms_tbl_historico_relatorio AS h INNER JOIN ( SELECT MAX(pk_id_historico_relatorio) AS hid, fk_id_conteudo AS id_conteudo FROM cms_tbl_historico_relatorio WHERE fk_id_conteudo IN (104270,104228,104087,104069,104029) AND fk_id_usuario<>0 GROUP BY fk_id_conteudo ) AS t ON t.hid=h.pk_id_historico_relatorio INNER JOIN cms_tbl_conteudo AS c ON c.pk_id_conteudo=t.id_conteudo LEFT JOIN cms_tbl_usuarios AS ue ON ue.pk_id_usuario=h.fk_id_usuario LEFT JOIN cms_tbl_usuarios AS ua ON ua.pk_id_usuario=c.fk_id_usuario em 0.001

Resource id #35 em db-02 -> SELECT RELEASE_LOCK("lock_dblst_64_1_20_T0_104434__") AS released em 0