🔤🔤🔥🔤🔤🔤🔤🔤 🔤🔤
Подключение к telnet c аутентификацией
def respond_to_telnet_commands(sock, data):
"""Отвечает на IAC-команды, отправляя WONT на все DO и DONT на все WILL."""
i = 0
while i < len(data):
if data[i] == 0xff and i + 2 < len(data): # IAC
command, option = data[i + 1], data[i + 2]
if command == 0xfd: # DO
sock.send(bytes([0xff, 0xfc, option])) # WONT
elif command == 0xfb: # WILL
sock.send(bytes([0xff, 0xfe, option])) # DONT
i += 3
else:
i += 1
respond_to_telnet_commands - функция понадобится только если в ответе от сервера получаем такое b"\xff\xfb%\xff\xfb&\xff\xfd\x18\xff\xfd \xff\xfd#\xff\xfd'\xff\xfd$".Если же в конце этой кишки будет
login то всё ок можно сразу отправлять логин sock.send(b'login\r\n')Подключение через ipython:
import socket
sock = socket.socket()
sock.connect(('192.168.1.100', 5000))
data = sock.recv(1024)
print(data)
respond_to_telnet_commands(sock, data)
data = sock.recv(1024)
print(data)
respond_to_telnet_commands(sock, data)
data = sock.recv(1024)
print(data)
sock.send(b'<login>\r\n')
data = sock.recv(1024)
print(data)
sock.send(b'<pass>\r\n')
data = sock.recv(1024)
print(data)
sock.send(b'<command>\r\n')
data = sock.recv(1024)
print(data.decode())
Подключение к telnet без аутентификации
ㅤ
В
/etc/inetd.conf добавить:5000 stream tcp nowait root /usr/local/bin/telnet_noauth
telnet_noauth - 5000 можно заменить на любой порт или написать просто telnet будет использоваться для подключения порт 23<service_name>: имя службы (например, telnet), соответствует записи в /etc/services.<socket_type>: обычно stream (для TCP) или dgram (для UDP).<protocol>: протокол, например, tcp или udp.<wait/nowait>: wait (ждёт завершения процесса) или nowait (многопоточный).<user>: пользователь, от имени которого запускается служба (например, root).<server_program>: путь к исполняемому файлу службы (например, /usr/sbin/in.telnetd).<server_args>: аргументы для программы (обычно имя программы).Добавить скрипт telnet_noauth с содержимым:
#!/bin/bash
/bin/bash -i
Дать права на исполнения:
chmod +x /usr/local/bin/**telnet_noauth**
Подключение через ipython:
import socket
sock = socket.socket()
sock.connect(('192.168.1.100', 5000))
data = sock.recv(1024)
print(data)
sock.send(b'<command>\r\n')
data = sock.recv(1024)
print(data.decode())
Такие дела!
🛠 #балансбатл
—
✅ @bashdays ✅ @linuxfactory ✅ @blog