Trap (tarpit) no nā pili SSH e komo mai ana

ʻAʻole ia he mea huna ʻo ka Pūnaewele he wahi ʻino loa. I ka wā e hoʻāla ai ʻoe i kahi kikowaena, e hoʻokau koke ʻia ia i nā hoʻouka kaua nui a me nā scan he nui. ʻo kahi laʻana honeypot mai nā kiaʻi palekana hiki iā ʻoe ke koho i ka nui o kēia kaʻa ʻōpala. ʻO kaʻoiaʻiʻo, ma ka kikowaena kikowaena, 99% o nā kaʻa he hewa.

ʻO ka tarpit he awa pahele i hoʻohana ʻia e hoʻolohi i nā pilina e komo mai ana. Inā pili kekahi ʻōnaehana ʻaoʻao ʻekolu i kēia awa, ʻaʻole hiki iā ʻoe ke pani koke i ka pilina. Pono ʻo ia e hoʻopau i kāna kumu waiwai a kali a hiki i ka pau ʻana o ka manawa pili, a i ʻole e hoʻopau lima ʻia.

ʻO ka pinepine, hoʻohana ʻia nā tarpits no ka pale. Ua hoʻokumu mua ʻia ka ʻenehana no ka pale ʻana i nā ilo kamepiula. A i kēia manawa hiki ke hoʻohana ʻia e hōʻino i ke ola o nā spammers a me nā mea noiʻi e hana nei i ka nānā ākea o nā helu IP āpau i ka lālani (nā laʻana ma Habré: Austria, Ukraine).

ʻO kekahi o nā luna hoʻokele pūnaewele i kapa ʻia ʻo Chris Wellons ua luhi i ka nānā ʻana i kēia mea hilahila - a kākau ʻo ia i kahi papahana liʻiliʻi. pau ole, he tarpit no SSH e hoʻolohi i nā pilina e komo mai. Wehe ka papahana i kahi awa (ʻo 2222 ka awa paʻamau no ka hoʻāʻo ʻana) a hoʻohālike ʻo ia he kikowaena SSH, akā ʻoiaʻiʻo, hoʻokumu ia i kahi pilina pau ʻole me ka mea kūʻai aku a hiki i kona haʻalele ʻana. Hiki ke hoʻomau kēia no kekahi mau lā a ʻoi aʻe paha a hāʻule ka mea kūʻai aku.

Hoʻokomo ʻia o ka pono:

$ make
$ ./endlessh &
$ ssh -p2222 localhost

ʻO ka tarpit i hoʻokō pono ʻia e lawe i nā kumuwaiwai hou aʻe mai ka mea hoʻouka ma mua o ʻoe. Akā, ʻaʻole ia he kumu waiwai. Mea kākau He kākauhe addictive ka papahana. I kēia manawa he 27 mau mea kūʻai i paʻa, pili kekahi o lākou no nā pule. Ma ke kiʻekiʻe o ka hana, 1378 mau mea kūʻai i paʻa no 20 mau hola!

Ma ke ʻano hana, pono e hoʻokomo ʻia ka server Endlessh ma ke awa maʻamau 22, kahi e kīkē nui ai nā hooligans. Manaʻo mau nā ʻōlelo aʻoaʻo palekana maʻamau e hoʻoneʻe iā SSH i kahi awa ʻē aʻe, e hoʻemi koke i ka nui o nā lāʻau ma ke ʻano o ka nui.

Ua ʻōlelo ʻo Chris Wellons e hoʻohana ana kāna papahana i hoʻokahi paukū o ka kikoʻī RFC 4253 i ka protocol SSH. Ma hope koke o ka hoʻokumu ʻia ʻana o kahi pilina TCP, akā ma mua o ka hoʻohana ʻana i ka cryptography, pono nā ʻaoʻao ʻelua e hoʻouna i kahi kaula ʻike. A aia kekahi memo: "MIKI ke hoʻouna aku ke kikowaena i nā lālani ʻikepili ʻē aʻe ma mua o ka hoʻouna ʻana i ka lālani mana". ^ E Ha yM. A ʻaʻohe palena ma ka nui o kēia ʻikepili, pono ʻoe e hoʻomaka i kēlā me kēia laina me SSH-.

ʻO kēia ka hana a ka papahana Endlessh: ʻo ia hoʻouna pau ole kahawai o ka ʻikepili i hana ʻole ʻia, e pili ana me RFC 4253, ʻo ia hoʻi, e hoʻouna ma mua o ka hōʻoia ʻana, a hoʻomaka kēlā me kēia laina me SSH- ʻaʻole ʻoi aku ma mua o 255 mau huaʻōlelo, me ke ʻano hoʻopau laina. Ma keʻano laulā, ua like nā mea a pau i ke kūlana.

Ma ka maʻamau, kali ka polokalamu i 10 kekona ma waena o ka hoʻouna ʻana i nā ʻeke. Mālama kēia i ka mea kūʻai mai ka manawa pau ʻole, no laila e paʻa mau ka mea kūʻai aku.

No ka hoʻouna ʻia ʻana o ka ʻikepili ma mua o ka hoʻohana ʻana i ka cryptography, maʻalahi loa ka papahana. ʻAʻole pono ia e hoʻokō i nā ciphers a kākoʻo i nā protocols he nui.

Ua ho'āʻo ka mea kākau e hōʻoia i ka hoʻohana ʻana o ka pono i ka liʻiliʻi o nā kumuwaiwai a hana ʻole ʻia ma ka mīkini. ʻAʻole e like me nā antiviruses hou a me nā "pūnaewele palekana," ʻaʻole pono ia e lohi i kāu kamepiula. Ua hoʻokō ʻo ia i ka hōʻemi ʻana i nā kaʻa a me ka hoʻomanaʻo ʻana ma muli o ka hoʻokō ʻana i ka polokalamu maalea. Inā hoʻomaka wale ʻo ia i kahi kaʻina kaʻawale ma kahi pili hou, a laila hiki i nā mea hoʻouka kaua ke hoʻomaka i kahi hoʻouka DDoS ma ka wehe ʻana i nā pilina he nui e hoʻopau i nā kumuwaiwai ma ka mīkini. ʻAʻole maikaʻi ka koho hoʻokahi no kēlā me kēia pilina, no ka mea, e hoʻopau ka kernel i nā kumuwaiwai e hoʻokele ana i nā kaula.

ʻO ia ke kumu i koho ai ʻo Chris Wellons i ke koho māmā loa no Endlessh: kahi kikowaena pūnaewele hoʻokahi poll(2), kahi e ʻai ʻole ai nā mea kūʻai i loko o ka pahele i nā kumu waiwai ʻē aʻe, ʻaʻole i helu i ke kumu kumu i loko o ka kernel a me 78 bytes no ka huli ʻana ma Endlessh. I mea e pale aku ai i ka hoʻokaʻawale ʻana i ka loaʻa a me ka hoʻouna ʻana i nā pale no kēlā me kēia mea kūʻai aku, wehe ʻo Endlessh i kahi kumu komo pololei a unuhi pololei i nā ʻeke TCP, e kāʻalo ana i ka ʻōnaehana holoʻokoʻa holoʻokoʻa TCP/IP. ʻAʻole pono iki ka buffer e komo mai ana, no ka mea ʻaʻole mākou makemake i ka ʻikepili komo.

'Ōlelo ka mea kākau i ka manawa o kāna papahana ʻaʻole ʻike e pili ana i ka noho ʻana o Python's asycio a me nā tarpits ʻē aʻe. Inā ʻike ʻo ia e pili ana i ka asycio, hiki iā ia ke hoʻokō i kāna pono i nā laina 18 wale nō ma Python:

import asyncio
import random

async def handler(_reader, writer):
try:
while True:
await asyncio.sleep(10)
writer.write(b'%xrn' % random.randint(0, 2**32))
await writer.drain()
except ConnectionResetError:
pass

async def main():
server = await asyncio.start_server(handler, '0.0.0.0', 2222)
async with server:
await server.serve_forever()

asyncio.run(main())

He kūpono ʻo Asyncio no ke kākau ʻana i nā tarpits. No ka laʻana, e hoʻokuʻu kēia makau iā Firefox, Chrome, a i ʻole kekahi mea kūʻai aku e hoʻāʻo nei e hoʻopili i kāu kikowaena HTTP no nā hola he nui:

import asyncio
import random

async def handler(_reader, writer):
writer.write(b'HTTP/1.1 200 OKrn')
try:
while True:
await asyncio.sleep(5)
header = random.randint(0, 2**32)
value = random.randint(0, 2**32)
writer.write(b'X-%x: %xrn' % (header, value))
await writer.drain()
except ConnectionResetError:
pass

async def main():
server = await asyncio.start_server(handler, '0.0.0.0', 8080)
async with server:
await server.serve_forever()

asyncio.run(main())

He mea hana maikaʻi ʻo Tarpit no ka hoʻopaʻi ʻana i nā mea hoʻoweliweli pūnaewele. ʻOiaʻiʻo, aia kekahi pilikia, ma kahi ʻē aʻe, o ka huki ʻana i ko lākou manaʻo i ka hana maʻamau o kahi kikowaena. ʻO kekahi manaʻo paha e pili ana i ka hoʻopaʻi a me ka hoouka kaua DDoS ma kou IP. Eia nō naʻe, i kēia manawa ʻaʻohe hihia like, a hana maikaʻi nā tarpits.

Nā Hub:
Python, Palekana ʻike, lako polokalamu, hoʻokele ʻōnaehana

Tags:
SSH, Endless, tarpit, tarpit, trap, asycio
Trap (tarpit) no nā pili SSH e komo mai ana

ʻAʻole ia he mea huna ʻo ka Pūnaewele he wahi ʻino loa. I ka wā e hoʻāla ai ʻoe i kahi kikowaena, e hoʻokau koke ʻia ia i nā hoʻouka kaua nui a me nā scan he nui. ʻo kahi laʻana honeypot mai nā kiaʻi palekana hiki iā ʻoe ke koho i ka nui o kēia kaʻa ʻōpala. ʻO kaʻoiaʻiʻo, ma ka kikowaena kikowaena, 99% o nā kaʻa he hewa.

ʻO ka tarpit he awa pahele i hoʻohana ʻia e hoʻolohi i nā pilina e komo mai ana. Inā pili kekahi ʻōnaehana ʻaoʻao ʻekolu i kēia awa, ʻaʻole hiki iā ʻoe ke pani koke i ka pilina. Pono ʻo ia e hoʻopau i kāna kumu waiwai a kali a hiki i ka pau ʻana o ka manawa pili, a i ʻole e hoʻopau lima ʻia.

ʻO ka pinepine, hoʻohana ʻia nā tarpits no ka pale. Ua hoʻokumu mua ʻia ka ʻenehana no ka pale ʻana i nā ilo kamepiula. A i kēia manawa hiki ke hoʻohana ʻia e hōʻino i ke ola o nā spammers a me nā mea noiʻi e hana nei i ka nānā ākea o nā helu IP āpau i ka lālani (nā laʻana ma Habré: Austria, Ukraine).

ʻO kekahi o nā luna hoʻokele pūnaewele i kapa ʻia ʻo Chris Wellons ua luhi i ka nānā ʻana i kēia mea hilahila - a kākau ʻo ia i kahi papahana liʻiliʻi. pau ole, he tarpit no SSH e hoʻolohi i nā pilina e komo mai. Wehe ka papahana i kahi awa (ʻo 2222 ka awa paʻamau no ka hoʻāʻo ʻana) a hoʻohālike ʻo ia he kikowaena SSH, akā ʻoiaʻiʻo, hoʻokumu ia i kahi pilina pau ʻole me ka mea kūʻai aku a hiki i kona haʻalele ʻana. Hiki ke hoʻomau kēia no kekahi mau lā a ʻoi aʻe paha a hāʻule ka mea kūʻai aku.

Hoʻokomo ʻia o ka pono:

$ make
$ ./endlessh &
$ ssh -p2222 localhost

ʻO ka tarpit i hoʻokō pono ʻia e lawe i nā kumuwaiwai hou aʻe mai ka mea hoʻouka ma mua o ʻoe. Akā, ʻaʻole ia he kumu waiwai. Mea kākau He kākauhe addictive ka papahana. I kēia manawa he 27 mau mea kūʻai i paʻa, pili kekahi o lākou no nā pule. Ma ke kiʻekiʻe o ka hana, 1378 mau mea kūʻai i paʻa no 20 mau hola!

Ma ke ʻano hana, pono e hoʻokomo ʻia ka server Endlessh ma ke awa maʻamau 22, kahi e kīkē nui ai nā hooligans. Manaʻo mau nā ʻōlelo aʻoaʻo palekana maʻamau e hoʻoneʻe iā SSH i kahi awa ʻē aʻe, e hoʻemi koke i ka nui o nā lāʻau ma ke ʻano o ka nui.

Ua ʻōlelo ʻo Chris Wellons e hoʻohana ana kāna papahana i hoʻokahi paukū o ka kikoʻī RFC 4253 i ka protocol SSH. Ma hope koke o ka hoʻokumu ʻia ʻana o kahi pilina TCP, akā ma mua o ka hoʻohana ʻana i ka cryptography, pono nā ʻaoʻao ʻelua e hoʻouna i kahi kaula ʻike. A aia kekahi memo: "MIKI ke hoʻouna aku ke kikowaena i nā lālani ʻikepili ʻē aʻe ma mua o ka hoʻouna ʻana i ka lālani mana". ^ E Ha yM. A ʻaʻohe palena ma ka nui o kēia ʻikepili, pono ʻoe e hoʻomaka i kēlā me kēia laina me SSH-.

ʻO kēia ka hana a ka papahana Endlessh: ʻo ia hoʻouna pau ole kahawai o ka ʻikepili i hana ʻole ʻia, e pili ana me RFC 4253, ʻo ia hoʻi, e hoʻouna ma mua o ka hōʻoia ʻana, a hoʻomaka kēlā me kēia laina me SSH- ʻaʻole ʻoi aku ma mua o 255 mau huaʻōlelo, me ke ʻano hoʻopau laina. Ma keʻano laulā, ua like nā mea a pau i ke kūlana.

Ma ka maʻamau, kali ka polokalamu i 10 kekona ma waena o ka hoʻouna ʻana i nā ʻeke. Mālama kēia i ka mea kūʻai mai ka manawa pau ʻole, no laila e paʻa mau ka mea kūʻai aku.

No ka hoʻouna ʻia ʻana o ka ʻikepili ma mua o ka hoʻohana ʻana i ka cryptography, maʻalahi loa ka papahana. ʻAʻole pono ia e hoʻokō i nā ciphers a kākoʻo i nā protocols he nui.

Ua ho'āʻo ka mea kākau e hōʻoia i ka hoʻohana ʻana o ka pono i ka liʻiliʻi o nā kumuwaiwai a hana ʻole ʻia ma ka mīkini. ʻAʻole e like me nā antiviruses hou a me nā "pūnaewele palekana," ʻaʻole pono ia e lohi i kāu kamepiula. Ua hoʻokō ʻo ia i ka hōʻemi ʻana i nā kaʻa a me ka hoʻomanaʻo ʻana ma muli o ka hoʻokō ʻana i ka polokalamu maalea. Inā hoʻomaka wale ʻo ia i kahi kaʻina kaʻawale ma kahi pili hou, a laila hiki i nā mea hoʻouka kaua ke hoʻomaka i kahi hoʻouka DDoS ma ka wehe ʻana i nā pilina he nui e hoʻopau i nā kumuwaiwai ma ka mīkini. ʻAʻole maikaʻi ka koho hoʻokahi no kēlā me kēia pilina, no ka mea, e hoʻopau ka kernel i nā kumuwaiwai e hoʻokele ana i nā kaula.

ʻO ia ke kumu i koho ai ʻo Chris Wellons i ke koho māmā loa no Endlessh: kahi kikowaena pūnaewele hoʻokahi poll(2), kahi e ʻai ʻole ai nā mea kūʻai i loko o ka pahele i nā kumu waiwai ʻē aʻe, ʻaʻole i helu i ke kumu kumu i loko o ka kernel a me 78 bytes no ka huli ʻana ma Endlessh. I mea e pale aku ai i ka hoʻokaʻawale ʻana i ka loaʻa a me ka hoʻouna ʻana i nā pale no kēlā me kēia mea kūʻai aku, wehe ʻo Endlessh i kahi kumu komo pololei a unuhi pololei i nā ʻeke TCP, e kāʻalo ana i ka ʻōnaehana holoʻokoʻa holoʻokoʻa TCP/IP. ʻAʻole pono iki ka buffer e komo mai ana, no ka mea ʻaʻole mākou makemake i ka ʻikepili komo.

'Ōlelo ka mea kākau i ka manawa o kāna papahana ʻaʻole ʻike e pili ana i ka noho ʻana o Python's asycio a me nā tarpits ʻē aʻe. Inā ʻike ʻo ia e pili ana i ka asycio, hiki iā ia ke hoʻokō i kāna pono i nā laina 18 wale nō ma Python:

import asyncio
import random

async def handler(_reader, writer):
try:
while True:
await asyncio.sleep(10)
writer.write(b'%xrn' % random.randint(0, 2**32))
await writer.drain()
except ConnectionResetError:
pass

async def main():
server = await asyncio.start_server(handler, '0.0.0.0', 2222)
async with server:
await server.serve_forever()

asyncio.run(main())

He kūpono ʻo Asyncio no ke kākau ʻana i nā tarpits. No ka laʻana, e hoʻokuʻu kēia makau iā Firefox, Chrome, a i ʻole kekahi mea kūʻai aku e hoʻāʻo nei e hoʻopili i kāu kikowaena HTTP no nā hola he nui:

import asyncio
import random

async def handler(_reader, writer):
writer.write(b'HTTP/1.1 200 OKrn')
try:
while True:
await asyncio.sleep(5)
header = random.randint(0, 2**32)
value = random.randint(0, 2**32)
writer.write(b'X-%x: %xrn' % (header, value))
await writer.drain()
except ConnectionResetError:
pass

async def main():
server = await asyncio.start_server(handler, '0.0.0.0', 8080)
async with server:
await server.serve_forever()

asyncio.run(main())

He mea hana maikaʻi ʻo Tarpit no ka hoʻopaʻi ʻana i nā mea hoʻoweliweli pūnaewele. ʻOiaʻiʻo, aia kekahi pilikia, ma kahi ʻē aʻe, o ka huki ʻana i ko lākou manaʻo i ka hana maʻamau o kahi kikowaena. ʻO kekahi manaʻo paha e pili ana i ka hoʻopaʻi a me ka hoouka kaua DDoS ma kou IP. Eia nō naʻe, i kēia manawa ʻaʻohe hihia like, a hana maikaʻi nā tarpits.

Trap (tarpit) no nā pili SSH e komo mai ana

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka