Information Gathering: Coleta de email em Posts do Linkedin


As redes sociais são um buraco sem fim quando se trata de usuários expondo dados pessoais. isso qualquer analista de segurança sabe, e tal característica  pode ser usado como uma fonte rica para ataques direcionados.

Criou-se um comportamento padrão em post's LinkedIn onde o "influenciador" posta um X conteúdo e para você reles mortal ter acesso, tem que fazer um comentar com seu e-mail para o tal "coach" enviar o resto do conteúdo ou uma planilha mágica.


Técnica:

Basicamente encontramos uma padrão de URL nos posts do LinkedIn e com tal informação é possível criar dorks de busca e extrair os emails.

Exemplo de urls:

  1. https://www.linkedin.com/pulse/planilha-de-controle-ordem-produção-marcos-rieper/
  2. https://www.linkedin.com/pulse/planilha-para-avaliação-de-desempenho-e-competências-plano-garcia/
  3. https://www.linkedin.com/pulse/planilha-teste-para-estagiárioxlsdownload-gratuito-arthur/
Identificando o padrão de string www.linkedin.com/pulse/ é possível criar a dork para filtro dos targets.

Dork:

  • site: linkedin.com "linkedin.com/pulse/" "Planilha"

Result:


Extração de target:

A extração é bem simples, usei mais do mesmo RR ( Regex + Request ), o único diferencial é pegar um ID criado no Body do post que possibilita pegar todos e-mails do post sem necessidade de paginação.

Review script de coleta

REQUEST PEGANDO ID
exec("curl -kg --user-agent '{$user_agent}' '{$url_target}'>tmp");
GREP PERMALINK AND ID_URN
$data_article_permalink =  'cat tmp | grep -oP \'(?<=data-article-permalink=").*?(?=">)\'';")'
$data_article_urn =  'cat tmp | grep -oP \'(?<=data-article-urn="urn:li:article:).*?(?=")\'';
URL REQUEST
$url_request_dump_email = "https://www.linkedin.com/content-guest/article/comments/urn%3Ali%3Aarticle%3A{$return[0]}?count=100&start=0&articlePermalink={$return[1]}";
DUMP FILES
$file_dump_html = "dump_html_tmp_{$return[0]}";
$file_dump_email = "emails_{$return[0]}";
REQUEST URL DUMP DE COMENTÁRIOS
exec("curl -kg --user-agent '{$user_agent}' '{$url_request_dump_email}'>'{$file_dump_html}'");
GREP EMAILS
exec('cat "'.$file_dump_html.'" | grep -E -o \'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b\' | sort | uniq >'.$file_dump_email);

CODE

$targets = array_unique(explode("\n",file_get_contents("posts.targets")));
$user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0';

foreach ($targets as $key => $url_target) {
   
   #REQUEST PEGANDO ID
   exec("curl -kg --user-agent '{$user_agent}' '{$url_target}'>tmp");
   
   #GREP  ID
   $data_article_permalink =  'cat tmp | grep -oP \'(?<=data-article-permalink=").*?(?=">)\'';
   $data_article_urn =  'cat tmp | grep -oP \'(?<=data-article-urn="urn:li:article:).*?(?=")\'';
   $return[] = exec("{$data_article_urn}");
   $return[] = exec("{$data_article_permalink}");

   #SLEEP
   $sleep = random_int(1,5);
   sleep($sleep);

   #URL REQUEST
   $url_request_dump_email = "https://www.linkedin.com/content-guest/article/comments/urn%3Ali%3Aarticle%3A{$return[0]}?count=100&start=0&articlePermalink={$return[1]}";
   $file_dump_html = "dump_html_tmp_{$return[0]}";
   $file_dump_email = "emails_{$return[0]}";
   
   #REQUEST URL COMENTÁRIOS
   exec("curl -kg --user-agent '{$user_agent}' '{$url_request_dump_email}'>'{$file_dump_html}'");
   
   #GREP EMAILS
   exec('cat  "'.$file_dump_html.'" | grep -E -o \'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b\' | sort | uniq >'.$file_dump_email);
   echo " DUMP HTML: {$file_dump_html} \n EMAIL: {$file_dump_email}\n URL: {$url_request_dump_email}\n\n";
   $log = "\n-------------------------------------------\n";
   $log.= "\nDATA:".date('d-m-Y H:i:s');
   $log.= "\nURL:".$url_request_dump_email;
   $log.= "\n-------------------------------------------\n";
   file_put_contents("{$file_dump_email}",$log,FILE_APPEND);

   #SLEEP
   sleep($sleep);
   unset($return);
}

https://gist.github.com/MrCl0wnLab/eb26ff29d9b07e79b18bfface7f790d8.js



Result grep:

Script completo: 

https://gist.github.com/MrCl0wnLab/eb26ff29d9b07e79b18bfface7f790d8

Conclusão
:

User continue assim tks.

Recomendação:

User coloca sua senha tbm.


 

Comentários

Postagens mais visitadas deste blog

Body Web Sextortion (webcam blackmail) / Anti-Grep

Information Gathering: Plugin Mailchimp for WordPress