GeneAYak,
я использую ruby для написания небольшого скрипта в метасплойте, сохранил специально не работающие строки в отдельный скрипт и протестирвал, проблема та же.., я сам не понимаю почему он ищет gsub:
HexUserHex, ну судя по стектрейсу, кажется, что ошибка падает из какого-то гемчика, который пытается раскрасить вывод в консоль, но вместо строки ему подается массив, у которого нет метода gsub
тут уж только локально дебагать остается, что-то дельное подсказать вряд ли получится
HexUserHex, скорее всего, вы пытаетесь на строке print tmp вывести массив, пусть и криво разделенный, но все же массив в консоль, а вот самописаный метасплоиный гем не умеет работать с таким
В вашем случае для разделения строки бэкслэшем нужно поместить её в одинарные кавычки. Двойные кавычки обрабатывают внутри себя бэкслэш как спецсимвол.
Не знаю как вы получили строку, но метод возвращает её внутри массива, поэтому и получаем ошибку про gsub!. Используйте user_name.join или username.first, чтобы вернуть значение как обычную строку.