rlwrap - Readline Wrapper
Descrición
rlwrap é unha ferramenta de GNU/Linux que engade funcionalidade de edición de liña tipo readline a calquera programa de liña de comandos que non a incorpore de forma nativa. Isto inclúe historial de comandos, edición de liña, autocompletado e busca no historial.
Instalación
Debian/Ubuntu
Red Hat/CentOS/Fedora
Arch Linux
Funcionalidades Principais
- Historial de comandos: Navegación con frechas arriba/abaixo.
- Edición de liña: Movemento con Ctrl+A, Ctrl+E, etc.
- Busca no historial: Ctrl+R para buscar comandos anteriores.
- Autocompletado: Soporte para completado con TAB.
- Persistencia: Garda o historial entre sesións.
Exemplos de Uso no Hacking Ético
1. Reverse Shell Básica con Netcat
Sen rlwrap (shell limitada):
Con rlwrap (shell mellorada):
2. Bind Shell
3. Conexión a Bases de Datos
Conectar a MySQL:
Conectar a Redis:
4. Shells Interactivas de Scripts
Para Python:
Para Ruby:
5. Mellorar Shell Reversa Completa
Cando se obteña unha reverse shell, pódese mellorar a experiencia:
No atacante:
Unha vez conectado, estabilizar a shell:
6. Usar con Ficheiro de Historial Personalizado
7. Completado Personalizado
Crear lista de palabras predefinidas que rlwrap usará para ofrecer autocompletado cando se preme TAB:
Opcións Útiles
| Opción | Descrición |
|---|---|
-a |
Usa sempre readline, incluso se stdin non é un terminal |
-A |
Soporte para cores ANSI no terminal |
-c |
Completa nomes de ficheiros |
-f FILE |
Usa FILE para lista de completado personalizado |
-H FILE |
Usa FILE como ficheiro de historial |
-i |
Modo case-insensitive para completado |
-l FILE |
Garda todo o que se escribe nun ficheiro de log |
-m |
Soporte para comandos multi-liña |
-n |
Non mostra avisos/warnings |
-p[colour] |
Colorea o prompt (cores: Red, Green, Yellow, Blue, etc.) |
-r |
Recorda o historial entre sesións |
-s NUM |
Tamaño máximo do historial (negativo: só lectura) |
Mellores Prácticas
- Usar sempre rlwrap cando se traballa con shells reversas para mellorar a produtividade.
- Configurar alias no
.bashrcou.zshrc: - Gardar historiais separados para diferentes proxectos ou clientes.
- Combinar con estabilización de shell para mellor experiencia.
Limitacións
- Non funciona ben con programas que usan controis de terminal complexos.
- Pode ter problemas con certos caracteres especiais en algunhas shells.
- Require que a shell remota tenga Python ou outros intérpretes para estabilización completa.
Recursos Adicionais
- Repositorio oficial: https://github.com/hanslub42/rlwrap
- Man page:
man rlwrap - Documentación completa:
/usr/share/doc/rlwrap/
Importante
rlwrap é unha ferramenta lexítima que DEBE usarse EXCLUSIVAMENTE en:
- Auditorías de seguridade autorizadas.
- Ambientes de laboratorio controlados.
- Exercicios de formación e CTFs con permiso explícito.
O uso non autorizado en sistemas alleos é ilegal e constituye un delito.