21 oct. 2009

Escritura remota con Vim (Http, Ftp, Scp, Sftp, Fetch, Rcp, Rsync y Webdav)

El plugin Netrw fue incluido como plugin estándar a partir de la versión 6 del conocido editor Vim, esta extensión ofrecía la posibilidad de utilizar el editor para navegar entre directorios y realizar operaciones de lectura y escritura de forma remota bajo los protocolos Httpd, Ftp, Scp, Sftp, Fetch, Rcp, Rsync y Webdav.

La edición remota con Vim se puede especificar a la hora de ejecutarlo en una terminal o bien, desde su linea de comandos. Si se necesita de contraseña para acceder a un determinado servidor, el mismo vim nos la solicitará al intentar conectar, pero también es posible usar ficheros ".netrc" para Ftp o automatizar la autenticación mediante el uso de llaves en Ssh.

Editar remotamente con Vim desde la terminal, sin entrar al modo "Linea de comando".
Escribir remotamente lanzando vim desde la terminal (Httpd, Ftp, Scp, Sftp, Fetch, Rcp, Rsync y Webdav)
$ vim  dav://servidor[:port]/path
$ vim  fetch://[[email protected]]servidor/path
$ vim  ftp://[[email protected]]servidor[[:#]port]/path
$ vim  http://[[email protected]]servidor/path
$ vim  rcp://[[email protected]]servidor/path
$ vim  rsync://[[email protected]]servidor[:port]/path
$ vim  scp://[[email protected]]servidor[[:#]port]/path
$ vim  sftp://[[email protected]]servidor/path

NOTA: Si en vez de indicar un fichero se indica solo el directorio, Vim nos mostrará un explorador de ficheros para que podamos ir navegando por el árbol de directorios y poder entrar a editar el archivo que se necesite. Si queremos indicar una ruta absoluta debemos utilizar las dos barras "//" entre el servidor y el path.

Editar remotamente con Vim entrando al modo "Linea de comando" del editor.

Vim es un editor modal, lo que significa que se puede trabajar en diferentes modos para realizar una tarea determinada, el que nos interesa para la edición en remoto es el modo "Línea de comandos", al cual se accede pulsando la tecla "Esc" +":". Tras los dos puntos se pueden introducir comandos complejos para todo tipo de funciones, los que veremos a continuación son los comandos para realizar las labores de edición remota de ficheros (Leer, Crear y Editar). Algunos de ellos van a requerir del uso de .Netrc para automatizar el tema de credenciales.

Comandos que nos interesan para escribir remotamente con Vim (:e / :Nread / :Nwrite)

- Editar ficheros ya creados:
Webdav (cadaver)
:e dav://servidor[:port]/path
Fetch
:e fetch://[[email protected]]servidor/path
Ftp (.netrc)
:e ftp://[[email protected]]servidor[[:#]port]/path
Http (Wget)
:e http://[[email protected]]servidor/path
Rcp
:e rcp://[[email protected]]servidor/path
Rsync
:e rsync://[[email protected]]servidor[:port]/path
Scp
:e scp://[[email protected]]servidor[[:#]port]/path
Sftp:
:e sftp://[[email protected]]servidor/path

- Lectura de ficheros:
Muestra la ayuda
:Nread ?
Rcp:
:Nread "servidor:path"
Ftp .netrc
:Nread "servidor path"
Ftp
:Nread "servidor id password path"
Webdab
:Nread "dav://servidor[:port]/path"
Fetch
:Nread "fetch://[[email protected]]servidor/path"
Ftp (.netrc)
:Nread "ftp://[[email protected]]servidor[[:#]port]/path"
Http (Wget)
:Nread "http://[[email protected]]servidor/path"
Rcp
:Nread "rcp://[[email protected]]servidor/path"
Rsync:
:Nread "rsync://[[email protected]]servidor[:port]/path"
Scp
:Nread "scp://[[email protected]]servidor[[:#]port]/path"
Sftp
:Nread "sftp://[[email protected]]servidor/path"

- Escritura de ficheros(Sobreescribe)
Este comando escribe, pero no permite editar el fichero, solo lo crea. Debemos tener cuidado con este comando ya que de existir el fichero lo sobrescribe en blanco.
Ayuda
:Nwrite ?
Rcp
:Nwrite "servidor:path"
Ftp (.netrw)
:Nwrite "servidor path"
Ftp
:Nwrite "servidor id password path"
Webdab (cadaver)
:Nwrite "dav://servidor[:port]/path"
Ftp (.netrw)
:Nwrite "ftp://[[email protected]]servidor[[:#]port]/path"
Rcp
:Nwrite "rcp://[[email protected]]servidor/path"
Rsync
:Nwrite "rsync://[[email protected]]servidor[:port]/path"
Scp
:Nwrite "scp://[[email protected]]servidor[[:#]port]/path"
Sftp:
:Nwrite "sftp://[[email protected]]servidor/path"
NOTA: HTTP NO está soportado para escribir

- Navegación de directorios:
Navegación con posibilidad de editar ficheros:
:e [protocol]://[usuario]@servidor/path/
Navegación sin posibilidad de editar ficheros:
:Nread [protocol]://[usuario]@servidor/path/
Acceso al árbol de directorios local:
:e /some/path/to/a/directory
Ejemplo de ruta relativa y absoluta, estos dos comandos hacen exactamente lo mismo.
$ vim scp://[email protected]/lista_peliculas.txt
$ vim scp://[email protected]//home/busi/lista_peliculas.txt

Fuente: http://www.busindre.com/

Author & Editor

Ingeniero Civil en Computación (Universidad de Chile FCFM) y Diplomado en Gestión y Evaluación de Proyectos TI (Universidad de Chile FEN). Actualmente trabajo como Project Manager en varios proyectos y como asesor tecnológico para empresas.

0 Notaciones:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.

Labels

0-day (12) 1337day (1) 8.8 (2) Adobe Acrobat (1) Android (2) Anonimato (1) Anonymous (9) BackDoor (2) BackTrack (15) badUSB (1) Base64 (1) Black Hat (7) BlackHat (1) Blackploit (25) Brute Force (3) Bug (106) Bypass Password (1) Bypass Redirect (1) C99 Shell (1) Carding (1) CheatSheet (15) Chilean Way (1) Conference (10) Cryptsetup (1) CSRF (1) DDoS (11) DEF CON (3) DEFCON (7) Diapositivas (1) Diseño Web (1) Distro Linux (27) Documental (2) DoS (2) Drupal (1) DuckDuckGo (1) E-zine (18) Ekoparty (1) Escaneo (4) España (1) Exploit (64) Ezine (1) Facebook (1) Fast-Info (44) FBI (1) Ficheros Binarios (1) Firefox (4) Flash (2) Forense (9) Fuerza Bruta (11) Fuga de Datos (1) GhostShell (1) GNU/Linux (4) Google (2) Guía (1) Hack T00LZ (130) Hack Tips (63) Hacked (6) Hacking (18) Hacking Hardware (5) HashCat (1) Herramientas (121) HighSecCON (1) Humor Geek (13) Infografía (1) Ingeniería Social (5) Inj3ct0r (1) Internet Explorer (3) Java (7) JavaScript (2) Kali (3) KitPloit (1) Leaks (21) Linux OS (79) LulzSec (1) Mac OS (10) Magazine (1) Malaware (3) Malaware Tools (12) Malware (1) Man in the Middle (15) Manuales (3) MD5 CRACK (4) Metasploit (57) MSSQL (1) MySQL (6) MySQL CRACK (1) Nmap (6) Nmap NSE (2) Noticias (193) NTLM CRACK (1) Ofuscar (5) OpenSolaris OS (1) OpenSSL (1) ORACLE (1) OWASP (3) Paper (10) PDF (7) PenTest (14) Perl (2) Phearking (13) Phishing (3) PHP (13) phpMyAdmin (1) PoC (1) Premios Bitacoras (1) Presentaciones (11) PRISM (1) Privacidad (2) Programación (12) Programas Linux (41) Programas Windows (41) Pwned (1) Python (5) Reconocimiento (5) Ruby (2) s (1) Scripts (7) Seguridad (145) Seguridad Web (140) Seguridad Wireless (19) Sensitive Data Exposure (2) SHA1 CRACK (1) Shellshock (1) Slides (1) Spoofing (1) Spyware (1) SQLi (19) SQLi Tools (7) SQLMap (2) SSH (1) Textos (74) Tips (57) Troyanos y Virus (11) Trucos (7) Trucos Win (7) Turiales (56) Tutoriales (18) Twitter (1) Ubuntu (2) Underc0de (1) UnderDOCS (1) Unlock (1) URL Redirection (1) UXSS (1) vBulletin (1) Video (48) Virtualización (2) Web T00LZ (17) Wifislax (1) Wikileaks (1) WikiRebels (1) Windows OS (66) Wireless Tools (13) XSS (16) Youtube (1)

 
biz.