실습> bind connection 이해하기
bind connection 은 Victim에서 포트를 열고
Attacker가 Victim으로 접속하는 연결 방식이다.
Attacker(Kali) : 192.168.50.200
Victim(CentOS) : 192.168.50.100
Attacker Victim
+----------+ +----------+
| | | |
| | | |
| 33024 ----------------> 8000 |
| | | |
| | | |
+----------+ +----------+
192.168.50.200 192.168.50.100
iptables -F
bind connection 의 조건 :
- Victim에 방화벽이 없어야 한다.
(방화벽이 있다면 Victim에서 포트를 열었지만 Attacker가 접속할 수 없는 상황이 된다.)
1. Victim 방화벽 해제
Victim# iptables -F
2. Victim 포트 오픈
Victim# nc -lvp 8000
3. Attacker 에서 접속
Attakcer# nc 192.168.50.100 8000
4. 포트 확인
Victim# netstat -natp | grep 8000
tcp 0 0 192.168.50.100:8000 192.168.50.200:33024 ESTABLISHED 6910/nc
Attacker# netstat -natp | grep 8000
tcp 0 0 192.168.50.200:33024 192.168.50.100:8000 ESTABLISHED
5. data 전송/확인
Victim# nc -lvp 8000
aaa
bbb
ccc
ddd
Attacker# nc 192.168.108.108 8000
aaa
bbb
ccc
ddd
^C
6. 방화벽 활성화
victim# iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j DROP
victim# iptables -nL INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp spt:22
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0
7. Victim 포트 오픈
방화벽을 활성화된 상태에서 포트를 오픈한다.
Victim# nc -lvp 8000
다른 터미널을 열어서 아래 명령어로 확인한다.
Victim# netstat -natp | grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 6953/nc
Victim# iptables -nvL
:
:(생략)
8. Attacker 에서 접속
방화벽이 설정되어 있으므로 Victim으로 접속할 수 없다.
Attakcer# nc 192.168.50.100 8000
^C
실습> reverse connection 이해하기
reverse connection 은 Attacker에서 포트를 열고 Victime이 Attacker로 접속하는 연결 방식이다.
Attacker(Kali) : 192.168.50.200
Victim(CentOS) : 192.168.50.100
Attacker Victim
+----------+ | +----------+
| | | | |
| | | | |
| 8000 <----------|---- 46606 |
| | | | |
| | | | |
+----------+ | +----------+
192.168.50.200 192.168.50.100
iptables 활성화
reverese connection 의 조건 :
- Victim에 방화벽이 활성화되어 있어야 한다.
(방화벽이 있다면 Victim에서 포트를 열었지만 Attacker가 접속할 수 없는 상황이 된다. 그러므로 Victim에서 Attacker쪽으로 나와야 하는 상황이다.)
1. Victim 방화벽 활성화
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j DROP
victim# iptables -nL INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp spt:22
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0
2. Attacker 포트 오픈
Attacker# nc -lvp 8000
3. Victim 에서 접속
Victime# nc 192.168.50.200 8000
4. 포트 확인
Victim# netstat -natp | grep 8000
tcp 0 0 192.168.50.100:46606 192.168.50.200:8000 ESTABLISHED 7020/nc
Attacker# netstat -natp | grep 8000
tcp 0 0 192.168.50.200:8000 192.168.50.100:46606 ESTABLISHED
5. data 전송/확인
Victim# nc -lvp 8000
aaa
bbb
ccc
ddd
Attacker# nc 192.168.108.108 8000
aaa
bbb
ccc
ddd
^C
'Linux > 모의해킹' 카테고리의 다른 글
| [Kali] hydra 무차별 대입 공격 (0) | 2021.12.28 |
|---|---|
| tracert 를 이용한 경로 추적하기 (0) | 2021.12.28 |
| [Kali] Port Scan 포트 스캔 (0) | 2021.12.28 |
| [Linux] msfvenom 악성코드 생성과 쉘 장악 (0) | 2021.11.10 |
| [Linux] Bind Shell & Reverse Shell (0) | 2021.11.10 |