เบกเบฑเบเบเปเปเบกเบตเบเบงเบฒเบกเบฅเบฑเบเบงเปเบฒเบญเบดเบเปเบเบตเปเบเบฑเบเปเบกเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเปเบเบฑเบเบชเบฑเบเบเบนเบซเบผเบฒเบ. เบเบฑเบเบเบตเบเบตเปเบเปเบฒเบเบเบปเบเปเบเบตเบเปเบงเบต, เบกเบฑเบเบเบฐเบเบทเบเปเบเบกเบเบตเบเบฑเปเบเปเบซเบเป เปเบฅเบฐเบชเบฐเปเบเบเบซเบผเบฒเบเบเบฑเปเบเบเบฑเบเบเบต. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ
Tarpit เปเบเบฑเบเบเบญเบเปเบชเปเบเบฑเบเบเบฑเบเปเบเปเปเบเบทเปเบญเบเปเบฒเบฅเบปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฒเปเบเบปเปเบฒ. เบเปเบฒเบฅเบฐเบเบปเบเบเบฒเบเบชเปเบงเบเบเบตเบชเบฒเบกเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบญเบเบเบตเป, เบเปเบฒเบเบเบฐเบเปเปเบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเปเปเบง. เบเบฒเบเบเบฐเบเปเบญเบเปเบชเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบฅเบฐเบเบปเบเบเบญเบเบเบฒเบ เปเบฅเบฐเบฅเปเบเปเบฒเบเบปเบเบเปเบงเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบปเบเปเบงเบฅเบฒ, เบซเบผเบทเบเบดเบเบกเบฑเบเบเปเบงเบเบเบปเบเปเบญเบ.
เบชเปเบงเบเบซเบผเบฒเบเบกเบฑเบ, เบเปเบฒเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบเปเปเบเบทเปเบญเบเปเบญเบเบเบฑเบ. เปเบเบฑเบเบเบดเบเบเบฑเปเบเบเปเบฒเบงเปเบเปเบเบทเบเบเบฑเบเบเบฐเบเบฒเบเบฑเปเบเบเปเบฒเบญเบดเบเปเบเบทเปเบญเบเปเบญเบเบเบฑเบเปเบกเปเบเปเบญเบเบเบญเบกเบเบดเบงเปเบเบต. เปเบฅเบฐเปเบเบเบฑเบเบเบธเบเบฑเบเบกเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบฒเบฅเบฒเบเบเบตเบงเบดเบเบเบญเบ spammers เปเบฅเบฐเบเบฑเบเบเบปเปเบเบเบงเปเบฒเบเบตเปเบกเบตเบชเปเบงเบเบฎเปเบงเบกเปเบเบเบฒเบเบชเบฐเปเบเบเบขเปเบฒเบเบเบงเปเบฒเบเบเบงเบฒเบเบเบญเบเบเบตเปเบขเบนเป IP เบเบฑเบเบซเบกเบปเบเบเบดเบเบเปเปเบเบฑเบ (เบเบปเบงเบขเปเบฒเบเปเบHabrรฉ:
เบเบนเปเบเปเบฅเบดเบซเบฒเบเบฅเบฐเบเบปเบเบเบปเบเบเบถเปเบเบเบทเป Chris Wellons เปเบเบดเปเบเบเบทเบงเปเบฒเปเบกเบทเปเบญเบเบเบฑเบเบเบฒเบเปเบเบดเปเบเบเบงเบฒเบกเบญเบฑเบเบญเบฒเบเบเบตเป - เปเบฅเบฐเบฅเบฒเบงเปเบเปเบเบฝเบเปเบเบเบเบฒเบเบเปเบญเบเป.
เบเบฒเบโเบเบดเบโเบเบฑเปเบโเบญเบธโเบเบฐโเบเบญเบโเบเบฒเบโ:
$ make
$ ./endlessh &
$ ssh -p2222 localhost
A tarpit เบเบตเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบขเปเบฒเบเบเบทเบเบเปเบญเบเบเบฐเปเบเปเปเบงเบฅเบฒเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฒเบเบเบนเปเปเบเบกเบเบตเบซเบผเบฒเบเบเปเบงเบฒเบเปเบฒเบ. เปเบเปเบกเบฑเบเบเปเปเปเบกเปเบเปเบฅเบทเปเบญเบเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ. เบเบนเปเบเบฝเบ
เปเบเปเบซเบกเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ Endlessh เบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบเบเบญเบเบเบปเบเบเบฐเบเบด 22, เบเปเบญเบเบเบตเป hooligans เปเบเบฒเบฐเบเบนเบเบเบปเบ. เบเปเบฒเปเบเบฐเบเปเบฒเบเปเบฒเบเบเบงเบฒเบกเบเบญเบเปเบเบกเบฒเบเบเบฐเบเบฒเบเบชเบฐเปเบซเบกเบตเปเบเบฐเบเปเบฒเปเบซเปเบเปเบฒเบ SSH เปเบเบซเบฒเบเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เปเบเบดเปเบเบเบฑเบเบเบตเบเบตเปเบซเบผเบธเบเบเปเบญเบเบเบฐเบซเบเบฒเบเบเบญเบเบเบฑเบเบเบถเบเปเบเบเบเปเบฒเบชเบฑเปเบเบเบญเบเบเบฐเบซเบเบฒเบ.
Chris Wellons เปเบงเบปเปเบฒเบงเปเบฒเปเบเบเบเบฒเบเบเบญเบเบฅเบฒเบงเปเบเปเบเบธเบเบเบปเปเบเบงเบฑเบเบซเบเบถเปเบเบเบญเบเบเปเปเบเปเบฒเบเบปเบ SSH-
.
เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเปเบเบเบเบฒเบ Endlessh เปเบฎเบฑเบ: เบกเบฑเบ เบชเบปเปเบ เบเปเปเบกเบตเบชเบดเปเบเบชเบธเบ เบเบฐเปเบชเบเปเปเบกเบนเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบเบเบชเบธเปเบก, เปเบเบดเปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบก RFC 4253, เบเบฑเปเบเปเบกเปเบ, เบชเบปเปเบเบเปเบญเบเบเบฒเบเบเบงเบเบชเบญเบ, เปเบฅเบฐเปเบเปเบฅเบฐเบชเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบ SSH-
เปเบฅเบฐเบเปเปเปเบเบตเบ 255 เบเบปเบงเบญเบฑเบเบชเบญเบ, เบฅเบงเบกเบเบฑเบเบเบปเบงเบญเบฑเบเบชเบญเบเบชเบดเปเบเบชเบธเบเปเบเบง. เปเบเบเบเบปเปเบงเปเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเปเบเบเบฒเบกเบกเบฒเบเบเบฐเบเบฒเบ.
เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เปเบเบเบเบฒเบเบฅเปเบเปเบฒ 10 เบงเบดเบเบฒเบเบตเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบชเบปเปเบเปเบเบฑเบเปเบเบฑเบ. เบเบตเปเบเปเบญเบเบเบฑเบเบเปเปเปเบซเปเบฅเบนเบเบเปเบฒเบซเบกเบปเบเปเบงเบฅเบฒ, เบเบฑเปเบเบเบฑเปเบเบฅเบนเบเบเปเบฒเบเบฐเบเบทเบเบเบดเบเบขเบนเปเบเบฐเบซเบผเบญเบเปเบ.
เปเบเบทเปเบญเบเบเบฒเบเบเปเปเบกเบนเบเบเบทเบเบชเบปเปเบเบเปเบญเบเบเบตเปเบเบฐเปเบเปเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบ, เปเบเบเบเบฒเบเปเบกเปเบเบเปเบฒเบเบเบฒเบเบเบตเปเบชเบธเบ. เบกเบฑเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฐเบเบดเบเบฑเบเบเบปเบงเบฅเบฐเบซเบฑเบเปเบเปเปเบฅเบฐเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบซเบผเบฒเบเปเบเปเบเบเบญเบ.
เบเบนเปเบเบฝเบเปเบเปเบเบฐเบเบฒเบเบฒเบกเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเปเบเบทเปเบญเบเปเบเปเบเบฐเปเบเปเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเปเบญเบเบเบตเปเบชเบธเบ เปเบฅเบฐเปเบฎเบฑเบเบงเบฝเบเปเบเบเบเปเปเปเบเปเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบเปเบเบทเปเบญเบ. เบเปเปเปเบซเบกเบทเบญเบเบเบฑเบ antivirus เบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเปเบฅเบฐ "เบฅเบฐเบเบปเบเบเบงเบฒเบกเบเบญเบเปเบ" เบญเบทเปเบเป, เบกเบฑเบเบเปเปเบเบงเบเปเบฎเบฑเบเปเบซเปเบเบญเบกเบเบดเบงเปเบเบตเบเบญเบเบเปเบฒเบเบเปเบฒเบฅเบปเบ. เบฅเบฒเบงเปเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบซเบผเบธเบเบเปเบญเบเบเบฒเบเบเบฒเบฅเบฐเบเบญเบเปเบฅเบฐเบเบฒเบเบเปเบฅเบดเปเบเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบเปเบญเบเบฅเบปเบเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเปเบงเบเบตเปเบชเบฐเบซเบฅเบฒเบเบเบงเปเบฒเปเบฅเบฑเบเบเปเบญเบ. เบเปเบฒเบกเบฑเบเบเบฝเบเปเบเปเปเบเบตเบเบเบฐเบเบงเบเบเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบเปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบซเบกเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบนเปเปเบเบกเบเบตเบเบตเปเบกเบตเบเปเบฒเปเบฎเบเบชเบฒเบกเบฒเบเปเบเบตเบเบเบปเบงเบเบฒเบเปเบเบกเบเบต DDoS เปเบเบเบเบฒเบเปเบเบตเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบซเบผเบฒเบเปเบเบทเปเบญเปเบเปเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเปเบเบทเปเบญเบ. เบซเบเบถเปเบ thread เบเปเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเปเปเบเปเปเปเบกเปเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเบตเบเบตเปเบชเบธเบ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ kernel เบเบฐเปเบชเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฐเบเบนเป.
เบเบฑเปเบเปเบกเปเบเปเบซเบเบเบปเบเบเบตเป Chris Wellons เปเบฅเบทเบญเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบกเบตเบเปเปเบฒเบซเบเบฑเบเปเบเบปเบฒเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบ Endlessh: เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบกเบตเบเบฐเบเบนเปเบเบฝเบง poll(2)
, เบเปเบญเบเบเบตเปเบฅเบนเบเบเปเบฒเปเบเบเบฑเปเบเบเบฑเบเปเบเปเบเปเบฅเบดเปเบเบเปเบเบทเบญเบเบเปเปเบกเบตเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบดเปเบชเบ, เบเปเปเปเบเปเบเบฑเบเบงเบฑเบเบเบธ socket เปเบ kernel เปเบฅเบฐเบญเบตเบ 78 bytes เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฒเบกเปเบ Endlessh. เปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเบฑเบเบชเบฑเบเบเบฒเบเบฎเบฑเบเปเบฅเบฐเบชเบปเปเบ buffers เบชเปเบฒเบฅเบฑเบเบฅเบนเบเบเปเบฒเปเบเปเบฅเบฐเบเบปเบ, Endlessh เปเบเบตเบเปเบเบปเปเบฒเบฎเบฑเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเบเบเบปเบเปเบฅเบฐเปเบเปเบเบฑเบเปเบเบฑเบ TCP เปเบเบเบเบปเบ, เบเปเบฒเบกเปเบเบทเบญเบเบเบฑเบเบซเบกเบปเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ TCP / IP stack. buffer เบเบฒเปเบเบปเปเบฒเปเบกเปเบเบเปเปเบเปเบฒเปเบเบฑเบเปเบฅเบตเบ, เปเบเบฒเบฐเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบปเบเปเบเบเบฑเบเบเปเปเบกเบนเบเบเบฒเปเบเบปเปเบฒ.
เบเบนเปโเบเบฝเบโเบงเปเบฒโเปเบโเปเบงโเบฅเบฒโเบเบญเบโเปเบเบโเบเบฒเบโเบเบญเบโเบเบปเบโ
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 เปเบกเปเบเปเบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฝเบ tarpits. เบเบปเบงเบขเปเบฒเบ, hook เบเบตเปเบเบฐ freeze Firefox, Chrome, เบซเบผเบทเบฅเบนเบเบเปเบฒเบญเบทเปเบเปเบเบตเปเบเบฐเบเบฒเบเบฒเบกเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ HTTP เบเบญเบเบเปเบฒเบเปเบเบฑเบเปเบงเบฅเบฒเบซเบผเบฒเบเบเบปเปเบงเปเบกเบ:
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 เปเบเบฑเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเบเบตเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฅเบปเบเปเบเบเบเบฒเบเบเบปเปเบกเปเบซเบฑเบเบญเบญเบเปเบฅเบเป. เปเบเปเบเบดเบเปเบฅเปเบง, เบกเบตเบเบงเบฒเบกเบชเปเบฝเบเบเบฒเบเบขเปเบฒเบ, เปเบเบเบฒเบเบเบปเบเบเบฑเบเบเปเบฒเบก, เบเบฒเบเบเบถเบเบเบนเบเบเบงเบฒเบกเบชเบปเบเปเบเบเบญเบเบเบงเบเปเบเบปเบฒเบเปเปเบเบฑเบเบเบถเบเบเบดเบเปเบฒเบเบตเปเบเบดเบเบเบปเบเบเบฐเบเบดเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบชเบฐเปเบเบฒเบฐ. เบเบฒเบเบเบปเบ
เบชเบนเบเบเบฒเบ:
Python, เบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบเปเปเบกเบนเบ, เบเบญเบเปเบง, เบเบฒเบเบเปเบฅเบดเบซเบฒเบเบฅเบฐเบเบปเบ
Tagsโ:
SSH, Endlessh, tarpit, tarpit, trap, asycio
เปเบชเปเบเบฑเบเบเบฑเบ (tarpit) เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป SSH เบเบฒเปเบเบปเปเบฒ
เบกเบฑเบเบเปเปเบกเบตเบเบงเบฒเบกเบฅเบฑเบเบงเปเบฒเบญเบดเบเปเบเบตเปเบเบฑเบเปเบกเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบตเปเปเบเบฑเบเบชเบฑเบเบเบนเบซเบผเบฒเบ. เบเบฑเบเบเบตเบเบตเปเบเปเบฒเบเบเบปเบเปเบเบตเบเปเบงเบต, เบกเบฑเบเบเบฐเบเบทเบเปเบเบกเบเบตเบเบฑเปเบเปเบซเบเป เปเบฅเบฐเบชเบฐเปเบเบเบซเบผเบฒเบเบเบฑเปเบเบเบฑเบเบเบต. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ
Tarpit เปเบเบฑเบเบเบญเบเปเบชเปเบเบฑเบเบเบฑเบเปเบเปเปเบเบทเปเบญเบเปเบฒเบฅเบปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฒเปเบเบปเปเบฒ. เบเปเบฒเบฅเบฐเบเบปเบเบเบฒเบเบชเปเบงเบเบเบตเบชเบฒเบกเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบญเบเบเบตเป, เบเปเบฒเบเบเบฐเบเปเปเบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเปเปเบง. เบเบฒเบเบเบฐเบเปเบญเบเปเบชเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบฅเบฐเบเบปเบเบเบญเบเบเบฒเบ เปเบฅเบฐเบฅเปเบเปเบฒเบเบปเบเบเปเบงเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบปเบเปเบงเบฅเบฒ, เบซเบผเบทเบเบดเบเบกเบฑเบเบเปเบงเบเบเบปเบเปเบญเบ.
เบชเปเบงเบเบซเบผเบฒเบเบกเบฑเบ, เบเปเบฒเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบเปเปเบเบทเปเบญเบเปเบญเบเบเบฑเบ. เปเบเบฑเบเบเบดเบเบเบฑเปเบเบเปเบฒเบงเปเบเปเบเบทเบเบเบฑเบเบเบฐเบเบฒเบเบฑเปเบเบเปเบฒเบญเบดเบเปเบเบทเปเบญเบเปเบญเบเบเบฑเบเปเบกเปเบเปเบญเบเบเบญเบกเบเบดเบงเปเบเบต. เปเบฅเบฐเปเบเบเบฑเบเบเบธเบเบฑเบเบกเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบฒเบฅเบฒเบเบเบตเบงเบดเบเบเบญเบ spammers เปเบฅเบฐเบเบฑเบเบเบปเปเบเบเบงเปเบฒเบเบตเปเบกเบตเบชเปเบงเบเบฎเปเบงเบกเปเบเบเบฒเบเบชเบฐเปเบเบเบขเปเบฒเบเบเบงเปเบฒเบเบเบงเบฒเบเบเบญเบเบเบตเปเบขเบนเป IP เบเบฑเบเบซเบกเบปเบเบเบดเบเบเปเปเบเบฑเบ (เบเบปเบงเบขเปเบฒเบเปเบHabrรฉ:
เบเบนเปเบเปเบฅเบดเบซเบฒเบเบฅเบฐเบเบปเบเบเบปเบเบเบถเปเบเบเบทเป Chris Wellons เปเบเบดเปเบเบเบทเบงเปเบฒเปเบกเบทเปเบญเบเบเบฑเบเบเบฒเบเปเบเบดเปเบเบเบงเบฒเบกเบญเบฑเบเบญเบฒเบเบเบตเป - เปเบฅเบฐเบฅเบฒเบงเปเบเปเบเบฝเบเปเบเบเบเบฒเบเบเปเบญเบเป.
เบเบฒเบโเบเบดเบโเบเบฑเปเบโเบญเบธโเบเบฐโเบเบญเบโเบเบฒเบโ:
$ make
$ ./endlessh &
$ ssh -p2222 localhost
A tarpit เบเบตเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบขเปเบฒเบเบเบทเบเบเปเบญเบเบเบฐเปเบเปเปเบงเบฅเบฒเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฒเบเบเบนเปเปเบเบกเบเบตเบซเบผเบฒเบเบเปเบงเบฒเบเปเบฒเบ. เปเบเปเบกเบฑเบเบเปเปเปเบกเปเบเปเบฅเบทเปเบญเบเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ. เบเบนเปเบเบฝเบ
เปเบเปเบซเบกเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ Endlessh เบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบเบเบญเบเบเบปเบเบเบฐเบเบด 22, เบเปเบญเบเบเบตเป hooligans เปเบเบฒเบฐเบเบนเบเบเบปเบ. เบเปเบฒเปเบเบฐเบเปเบฒเบเปเบฒเบเบเบงเบฒเบกเบเบญเบเปเบเบกเบฒเบเบเบฐเบเบฒเบเบชเบฐเปเบซเบกเบตเปเบเบฐเบเปเบฒเปเบซเปเบเปเบฒเบ SSH เปเบเบซเบฒเบเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เปเบเบดเปเบเบเบฑเบเบเบตเบเบตเปเบซเบผเบธเบเบเปเบญเบเบเบฐเบซเบเบฒเบเบเบญเบเบเบฑเบเบเบถเบเปเบเบเบเปเบฒเบชเบฑเปเบเบเบญเบเบเบฐเบซเบเบฒเบ.
Chris Wellons เปเบงเบปเปเบฒเบงเปเบฒเปเบเบเบเบฒเบเบเบญเบเบฅเบฒเบงเปเบเปเบเบธเบเบเบปเปเบเบงเบฑเบเบซเบเบถเปเบเบเบญเบเบเปเปเบเปเบฒเบเบปเบ SSH-
.
เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเปเบเบเบเบฒเบ Endlessh เปเบฎเบฑเบ: เบกเบฑเบ เบชเบปเปเบ เบเปเปเบกเบตเบชเบดเปเบเบชเบธเบ เบเบฐเปเบชเบเปเปเบกเบนเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบเบเบชเบธเปเบก, เปเบเบดเปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบก RFC 4253, เบเบฑเปเบเปเบกเปเบ, เบชเบปเปเบเบเปเบญเบเบเบฒเบเบเบงเบเบชเบญเบ, เปเบฅเบฐเปเบเปเบฅเบฐเบชเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบ SSH-
เปเบฅเบฐเบเปเปเปเบเบตเบ 255 เบเบปเบงเบญเบฑเบเบชเบญเบ, เบฅเบงเบกเบเบฑเบเบเบปเบงเบญเบฑเบเบชเบญเบเบชเบดเปเบเบชเบธเบเปเบเบง. เปเบเบเบเบปเปเบงเปเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเปเบเบเบฒเบกเบกเบฒเบเบเบฐเบเบฒเบ.
เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เปเบเบเบเบฒเบเบฅเปเบเปเบฒ 10 เบงเบดเบเบฒเบเบตเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบชเบปเปเบเปเบเบฑเบเปเบเบฑเบ. เบเบตเปเบเปเบญเบเบเบฑเบเบเปเปเปเบซเปเบฅเบนเบเบเปเบฒเบซเบกเบปเบเปเบงเบฅเบฒ, เบเบฑเปเบเบเบฑเปเบเบฅเบนเบเบเปเบฒเบเบฐเบเบทเบเบเบดเบเบขเบนเปเบเบฐเบซเบผเบญเบเปเบ.
เปเบเบทเปเบญเบเบเบฒเบเบเปเปเบกเบนเบเบเบทเบเบชเบปเปเบเบเปเบญเบเบเบตเปเบเบฐเปเบเปเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบ, เปเบเบเบเบฒเบเปเบกเปเบเบเปเบฒเบเบเบฒเบเบเบตเปเบชเบธเบ. เบกเบฑเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฐเบเบดเบเบฑเบเบเบปเบงเบฅเบฐเบซเบฑเบเปเบเปเปเบฅเบฐเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบซเบผเบฒเบเปเบเปเบเบเบญเบ.
เบเบนเปเบเบฝเบเปเบเปเบเบฐเบเบฒเบเบฒเบกเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเปเบเบทเปเบญเบเปเบเปเบเบฐเปเบเปเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเปเบญเบเบเบตเปเบชเบธเบ เปเบฅเบฐเปเบฎเบฑเบเบงเบฝเบเปเบเบเบเปเปเปเบเปเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบเปเบเบทเปเบญเบ. เบเปเปเปเบซเบกเบทเบญเบเบเบฑเบ antivirus เบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเปเบฅเบฐ "เบฅเบฐเบเบปเบเบเบงเบฒเบกเบเบญเบเปเบ" เบญเบทเปเบเป, เบกเบฑเบเบเปเปเบเบงเบเปเบฎเบฑเบเปเบซเปเบเบญเบกเบเบดเบงเปเบเบตเบเบญเบเบเปเบฒเบเบเปเบฒเบฅเบปเบ. เบฅเบฒเบงเปเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบซเบผเบธเบเบเปเบญเบเบเบฒเบเบเบฒเบฅเบฐเบเบญเบเปเบฅเบฐเบเบฒเบเบเปเบฅเบดเปเบเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบเปเบญเบเบฅเบปเบเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเปเบงเบเบตเปเบชเบฐเบซเบฅเบฒเบเบเบงเปเบฒเปเบฅเบฑเบเบเปเบญเบ. เบเปเบฒเบกเบฑเบเบเบฝเบเปเบเปเปเบเบตเบเบเบฐเบเบงเบเบเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบเปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบซเบกเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบนเปเปเบเบกเบเบตเบเบตเปเบกเบตเบเปเบฒเปเบฎเบเบชเบฒเบกเบฒเบเปเบเบตเบเบเบปเบงเบเบฒเบเปเบเบกเบเบต DDoS เปเบเบเบเบฒเบเปเบเบตเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบซเบผเบฒเบเปเบเบทเปเบญเปเบเปเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเปเบเบทเปเบญเบ. เบซเบเบถเปเบ thread เบเปเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเปเปเบเปเปเปเบกเปเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเบตเบเบตเปเบชเบธเบ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ kernel เบเบฐเปเบชเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฐเบเบนเป.
เบเบฑเปเบเปเบกเปเบเปเบซเบเบเบปเบเบเบตเป Chris Wellons เปเบฅเบทเบญเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบกเบตเบเปเปเบฒเบซเบเบฑเบเปเบเบปเบฒเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบ Endlessh: เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบกเบตเบเบฐเบเบนเปเบเบฝเบง poll(2)
, เบเปเบญเบเบเบตเปเบฅเบนเบเบเปเบฒเปเบเบเบฑเปเบเบเบฑเบเปเบเปเบเปเบฅเบดเปเบเบเปเบเบทเบญเบเบเปเปเบกเบตเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบดเปเบชเบ, เบเปเปเปเบเปเบเบฑเบเบงเบฑเบเบเบธ socket เปเบ kernel เปเบฅเบฐเบญเบตเบ 78 bytes เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฒเบกเปเบ Endlessh. เปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเบฑเบเบชเบฑเบเบเบฒเบเบฎเบฑเบเปเบฅเบฐเบชเบปเปเบ buffers เบชเปเบฒเบฅเบฑเบเบฅเบนเบเบเปเบฒเปเบเปเบฅเบฐเบเบปเบ, Endlessh เปเบเบตเบเปเบเบปเปเบฒเบฎเบฑเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเบเบเบปเบเปเบฅเบฐเปเบเปเบเบฑเบเปเบเบฑเบ TCP เปเบเบเบเบปเบ, เบเปเบฒเบกเปเบเบทเบญเบเบเบฑเบเบซเบกเบปเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ TCP / IP stack. buffer เบเบฒเปเบเบปเปเบฒเปเบกเปเบเบเปเปเบเปเบฒเปเบเบฑเบเปเบฅเบตเบ, เปเบเบฒเบฐเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบปเบเปเบเบเบฑเบเบเปเปเบกเบนเบเบเบฒเปเบเบปเปเบฒ.
เบเบนเปโเบเบฝเบโเบงเปเบฒโเปเบโเปเบงโเบฅเบฒโเบเบญเบโเปเบเบโเบเบฒเบโเบเบญเบโเบเบปเบโ
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 เปเบกเปเบเปเบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฝเบ tarpits. เบเบปเบงเบขเปเบฒเบ, hook เบเบตเปเบเบฐ freeze Firefox, Chrome, เบซเบผเบทเบฅเบนเบเบเปเบฒเบญเบทเปเบเปเบเบตเปเบเบฐเบเบฒเบเบฒเบกเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ HTTP เบเบญเบเบเปเบฒเบเปเบเบฑเบเปเบงเบฅเบฒเบซเบผเบฒเบเบเบปเปเบงเปเบกเบ:
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 เปเบเบฑเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเบเบตเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฅเบปเบเปเบเบเบเบฒเบเบเบปเปเบกเปเบซเบฑเบเบญเบญเบเปเบฅเบเป. เปเบเปเบเบดเบเปเบฅเปเบง, เบกเบตเบเบงเบฒเบกเบชเปเบฝเบเบเบฒเบเบขเปเบฒเบ, เปเบเบเบฒเบเบเบปเบเบเบฑเบเบเปเบฒเบก, เบเบฒเบเบเบถเบเบเบนเบเบเบงเบฒเบกเบชเบปเบเปเบเบเบญเบเบเบงเบเปเบเบปเบฒเบเปเปเบเบฑเบเบเบถเบเบเบดเบเปเบฒเบเบตเปเบเบดเบเบเบปเบเบเบฐเบเบดเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบชเบฐเปเบเบฒเบฐ. เบเบฒเบเบเบปเบ
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com