Ha se sephiri hore Marang-rang ke sebaka se tletseng bora. Hang ha o phahamisa seva, hang-hang e hlaseloa ke litlhaselo tse kholo le litlhahlobo tse ngata. Ka mohlala
Tarpit ke sebaka sa marang-rang se sebelisoang ho fokotsa likhokahano tse kenang. Haeba tsamaiso ea motho oa boraro e hokela koung ena, u ke ke ua khona ho koala khokahanyo ka potlako. O tla tlameha ho senya lisebelisoa tsa sistimi ea hae mme a eme ho fihlela nako ea khokahano e fela, kapa a e felise ka letsoho.
Hangata, li-tarpit li sebelisetsoa ho sireletsa. Mokhoa ona o ile oa ntlafatsoa pele ho itšireletsa khahlanong le liboko tsa k'homphieutha. 'Me joale e ka sebelisoa ho senya bophelo ba batho ba spammers le bafuputsi ba sebetsanang le ho hlahloba liaterese tsohle tsa IP ka tatellano (mehlala ho Habre:
E mong oa batsamaisi ba tsamaiso ea bitsoang Chris Wellons ho bonahala a khathetse ke ho shebella lihlong tsena - mme a ngola lenaneo le lenyenyane.
Ho kenya lisebelisoa:
$ make
$ ./endlessh &
$ ssh -p2222 localhost
Tarpit e kentsoeng hantle e tla nka lisebelisoa tse ngata ho tsoa ho mohlaseli ho feta ho uena. Empa ha se taba ea lisebelisoa. Mongoli
Boemong ba ts'ebetso, seva sa Endlessh se hloka ho kenngoa boema-kepeng bo tloaelehileng ba 22, moo li-hooligans li kokotang ka bongata. Litlhahiso tse tloaelehileng tsa ts'ireletso li lula li eletsa ho tsamaisa SSH ho ea boema-kepe bo fapaneng, e leng hang-hang e fokotsang boholo ba lifate ka taelo ea boholo.
Chris Wellons o re lenaneo la hae le sebelisa serapa se le seng sa litlhaloso SSH-
.
Sena ke sona seo lenaneo la Endlessh le se etsang: eona romela sa feleng lethathamo la data e entsoeng ka tšohanyetso, e tsamaellanang le RFC 4253, ke hore, romella pele ho netefatso, 'me mohala o mong le o mong o qala ka SSH-
mme ha e fete ditlhaku tse 255, ho kenyeletswa le tlhaku e qetellang moleng. Ka kakaretso, ntho e 'ngoe le e' ngoe e latela maemo.
Ka kamehla, lenaneo le emela metsotsoana e 10 pakeng tsa ho romela lipakete. Sena se etsa hore moreki a se ke a beheloa nako, kahoo moreki o tla qabelloa ka ho sa feleng.
Kaha data e romelloa pele cryptography e sebelisoa, lenaneo le bonolo haholo. Ha e hloke ho kenya ts'ebetsong li-ciphers le ho ts'ehetsa liprothokholo tse ngata.
Sengoli se lekile ho etsa bonnete ba hore sesebelisoa se sebelisa bonyane ba lisebelisoa mme se sebetsa se sa hlokomeloe ka botlalo mochining. Ho fapana le li-antivirus tsa sejoale-joale le "litsamaiso tse ling tsa ts'ireletso," ha ea lokela ho khoehlisa komporo ea hau. O khonne ho fokotsa ts'ebeliso ea sephethephethe le mohopolo ka lebaka la ts'ebetso e bohlale ea software. Haeba e ne e qala ts'ebetso e arohaneng mabapi le khokahano e ncha, joale bahlaseli ba ka bang teng ba ka qala tlhaselo ea DDoS ka ho bula likhokahano tse ngata ho qeta lisebelisoa mochining. Khoele e le 'ngoe ka khokahano le eona ha se khetho e ntle ka ho fetisisa, hobane kernel e tla senya lisebelisoa tse tsamaisang likhoele.
Ke ka lebaka leo Chris Wellons a khethileng khetho e bobebe ka ho fetisisa bakeng sa Endlessh: seva se nang le khoele e le 'ngoe poll(2)
, moo bareki ba lerabeng ba jang hoo e ka bang ha ho na lisebelisoa tse eketsehileng, ho sa bale ntho ea socket ka har'a kernel le li-byte tse ling tse 78 bakeng sa ho latela Endlesssh. Ho qoba ho fana ka li-buffers bakeng sa moreki e mong le e mong, Endlessh e bula sokete ea phihlello e tobileng mme e fetolela lipakete tsa TCP ka kotloloho, e feta hoo e batlang e le sistimi eohle ea ts'ebetso ea TCP/IP. Buffer e kenang ha e hlokehe ho hang, hobane ha re thahaselle data e kenang.
Mongodi o re ka nako ya lenaneo la hae
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())
Asyncio e loketse ho ngola li-tarpits. Mohlala, hook ena e tla homisa Firefox, Chrome, kapa moreki ofe kapa ofe ea lekang ho hokela seva sa hau sa HTTP ka lihora tse ngata:
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())
Tarpit ke sesebelisoa se setle sa ho otla bo-'mampoli ba inthaneteng. Ke 'nete, ho na le kotsi e itseng, ho fapana le hoo, ea ho lebisa tlhokomelo ea bona boitšoarong bo sa tloaelehang ba seva se itseng. Motho emong
Hubs:
Python, Tšireletso ea Boitsebiso, Software, Tsamaiso ea Tsamaiso
Tags:
SSH, Endlesssh, tarpit, tarpit, trap, asycio
Trap (tarpit) bakeng sa likhokahano tsa SSH tse kenang
Ha se sephiri hore Marang-rang ke sebaka se tletseng bora. Hang ha o phahamisa seva, hang-hang e hlaseloa ke litlhaselo tse kholo le litlhahlobo tse ngata. Ka mohlala
Tarpit ke sebaka sa marang-rang se sebelisoang ho fokotsa likhokahano tse kenang. Haeba tsamaiso ea motho oa boraro e hokela koung ena, u ke ke ua khona ho koala khokahanyo ka potlako. O tla tlameha ho senya lisebelisoa tsa sistimi ea hae mme a eme ho fihlela nako ea khokahano e fela, kapa a e felise ka letsoho.
Hangata, li-tarpit li sebelisetsoa ho sireletsa. Mokhoa ona o ile oa ntlafatsoa pele ho itšireletsa khahlanong le liboko tsa k'homphieutha. 'Me joale e ka sebelisoa ho senya bophelo ba batho ba spammers le bafuputsi ba sebetsanang le ho hlahloba liaterese tsohle tsa IP ka tatellano (mehlala ho Habre:
E mong oa batsamaisi ba tsamaiso ea bitsoang Chris Wellons ho bonahala a khathetse ke ho shebella lihlong tsena - mme a ngola lenaneo le lenyenyane.
Ho kenya lisebelisoa:
$ make
$ ./endlessh &
$ ssh -p2222 localhost
Tarpit e kentsoeng hantle e tla nka lisebelisoa tse ngata ho tsoa ho mohlaseli ho feta ho uena. Empa ha se taba ea lisebelisoa. Mongoli
Boemong ba ts'ebetso, seva sa Endlessh se hloka ho kenngoa boema-kepeng bo tloaelehileng ba 22, moo li-hooligans li kokotang ka bongata. Litlhahiso tse tloaelehileng tsa ts'ireletso li lula li eletsa ho tsamaisa SSH ho ea boema-kepe bo fapaneng, e leng hang-hang e fokotsang boholo ba lifate ka taelo ea boholo.
Chris Wellons o re lenaneo la hae le sebelisa serapa se le seng sa litlhaloso SSH-
.
Sena ke sona seo lenaneo la Endlessh le se etsang: eona romela sa feleng lethathamo la data e entsoeng ka tšohanyetso, e tsamaellanang le RFC 4253, ke hore, romella pele ho netefatso, 'me mohala o mong le o mong o qala ka SSH-
mme ha e fete ditlhaku tse 255, ho kenyeletswa le tlhaku e qetellang moleng. Ka kakaretso, ntho e 'ngoe le e' ngoe e latela maemo.
Ka kamehla, lenaneo le emela metsotsoana e 10 pakeng tsa ho romela lipakete. Sena se etsa hore moreki a se ke a beheloa nako, kahoo moreki o tla qabelloa ka ho sa feleng.
Kaha data e romelloa pele cryptography e sebelisoa, lenaneo le bonolo haholo. Ha e hloke ho kenya ts'ebetsong li-ciphers le ho ts'ehetsa liprothokholo tse ngata.
Sengoli se lekile ho etsa bonnete ba hore sesebelisoa se sebelisa bonyane ba lisebelisoa mme se sebetsa se sa hlokomeloe ka botlalo mochining. Ho fapana le li-antivirus tsa sejoale-joale le "litsamaiso tse ling tsa ts'ireletso," ha ea lokela ho khoehlisa komporo ea hau. O khonne ho fokotsa ts'ebeliso ea sephethephethe le mohopolo ka lebaka la ts'ebetso e bohlale ea software. Haeba e ne e qala ts'ebetso e arohaneng mabapi le khokahano e ncha, joale bahlaseli ba ka bang teng ba ka qala tlhaselo ea DDoS ka ho bula likhokahano tse ngata ho qeta lisebelisoa mochining. Khoele e le 'ngoe ka khokahano le eona ha se khetho e ntle ka ho fetisisa, hobane kernel e tla senya lisebelisoa tse tsamaisang likhoele.
Ke ka lebaka leo Chris Wellons a khethileng khetho e bobebe ka ho fetisisa bakeng sa Endlessh: seva se nang le khoele e le 'ngoe poll(2)
, moo bareki ba lerabeng ba jang hoo e ka bang ha ho na lisebelisoa tse eketsehileng, ho sa bale ntho ea socket ka har'a kernel le li-byte tse ling tse 78 bakeng sa ho latela Endlesssh. Ho qoba ho fana ka li-buffers bakeng sa moreki e mong le e mong, Endlessh e bula sokete ea phihlello e tobileng mme e fetolela lipakete tsa TCP ka kotloloho, e feta hoo e batlang e le sistimi eohle ea ts'ebetso ea TCP/IP. Buffer e kenang ha e hlokehe ho hang, hobane ha re thahaselle data e kenang.
Mongodi o re ka nako ya lenaneo la hae
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())
Asyncio e loketse ho ngola li-tarpits. Mohlala, hook ena e tla homisa Firefox, Chrome, kapa moreki ofe kapa ofe ea lekang ho hokela seva sa hau sa HTTP ka lihora tse ngata:
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())
Tarpit ke sesebelisoa se setle sa ho otla bo-'mampoli ba inthaneteng. Ke 'nete, ho na le kotsi e itseng, ho fapana le hoo, ea ho lebisa tlhokomelo ea bona boitšoarong bo sa tloaelehang ba seva se itseng. Motho emong
Source: www.habr.com