今天在微博上看到@网络冷眼推荐的fcn,
原理如下(还没看懂):
于是准备下载来用一下,结果碰到这个问题。
cqq@snort-ids:/home/cqq $ file fcn-arm [0:58:00]
fcn-arm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=aa877e054106aade4fbe655aed3a8e184270fc6c, stripped
cqq@snort-ids:/home/cqq $ sudo ./fcn-arm [1:06:14]
sudo: unable to execute ./fcn-arm: No such file or directory
原因
可执行文件是3位的,而你的机器是64位的,而且你的机器还没有允许32位的可执行文件在你机器上运行的库。
参考:
https://askubuntu.com/a/133460
https://unix.stackexchange.com/questions/13391/getting-not-found-message-when-running-a-32-bit-binary-on-a-64-bit-system/13409#13409
解决方法
sudo dpkg --add-architecture i386
sudo apt update && sudo apt install libc6:i386 zlib1g:i386
或者安装更多的库。
sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386
参考:
https://askubuntu.com/a/454452
——————-更新—————–
然而安装了上面提到的库之后依然不能执行,于是找啊找,发现原来这个文件的解释器是
interpreter /lib/ld-linux.so.3
于是我
root@snort-ids:/home/cqq# mlocate ld-linux.so.3
/lib/arm-linux-gnueabihf/ld-linux.so.3
可能我的这个ld-linux.so.3
不是它需要的标准路径。后来发现这是个软链接,于是找到这个软链接指向的源文件,将其移动到它能找到的/lib/ld-linux.so.3
路径,
root@snort-ids:/lib# cp /lib/arm-linux-gnueabihf/ld-2.24.so /lib/ld-linux.so.3
再去执行它,boom!
[cqq@snort-ids ~ ]$ sudo ./fcn-arm [2:07:01]
[sudo] password for cqq:
PSK:XXXXXXXX
NAT:eth0
FCN SERVER:s1.xxxxxxx.com
FCN UDP LINK
fcn ip [10.10.0.0/24] nat -> eth0
先用同一个局域网的Windows(192.168.10.105)客户端连接成功之后,
kali_arm服务器端
[cqq@snort-ids ~ ]$ udp [2:23:28]
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dhclient 293 root 6u IPv4 5610 0t0 UDP *:68
fcn-arm 12827 root 5u IPv4 195963 0t0 UDP 192.168.10.141:42716->xxx.xxx.xxx.xxx:5000
fcn-arm 12827 root 6u IPv4 195340 0t0 UDP 192.168.10.141:1516->192.168.10.105:10127
[cqq@snort-ids ~ ]$ which udp [2:23:30]
udp: aliased to sudo lsof -i UDP -nP
Windows客户端
kali_amd64服务器端
➜ ~ w [3:23:15]
03:29:15 up 1 day, 1:37, 2 users, load average: 0.00, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty2 :0 02May17 10days 5:39 0.09s /usr/lib/gnome-settings-daemon/gsd-printer
root pts/4 10.10.0.2 03:28 11.00s 0.41s 0.19s nmap 192.168.170.0/24
➜ ~ udp|grep fcn [3:29:15]
fcn 55621 root 5u IPv4 207353 0t0 UDP 192.168.170.135:40143->122.114.91.3:5000
fcn 55621 root 6u IPv4 210103 0t0 UDP 192.168.170.135:30771->192.168.10.105:28553
Windows客户端——之二
使用putty通过ssh到10.10.0.1
。
登录成功之后查看ifconfig
然后用nmap扫描一波内网
而不管是否连接上该fcn服务器,ping这个服务器的内网IP(192.168.170.135)都是ping不通的。因为该机器是通过NAT方式通过192.168.170.2这个网关访问外网的。
虽然可以tracert到192.168.170.1(通过10.10.0.1,即192.168.170.135。但是这里只是逻辑链路,对用户是透明的,其实数据包还是要经过路由器192.168.10.1?)
断开之后就不行了。