Ruby in the middle (RITM)
El cliente intenta conectarse a cada nombre de servidor diferente. RITM genera un certificado sobre la marcha y lo firma con una autoridad de certificación preconfigurada (CA). Por lo tanto, con el fin de ser capaz de establecer una conexión segura se tendrá que configurar el cliente (por ejemplo, el navegador) para confiar en la CA de RITM. Por razones de seguridad, cada vez que se inicia el proxy de RITM con la configuración predeterminada se crea una nueva autoridad de certificación interna. Aunque si lo prefieres, también se puede utilizar una entidad emisora propia.
Instalación
gem install ritm
Uso básico
1.- Escribe tus "interception handlers":
require 'ritm'
# A single answer for all your google searches
Ritm.on_request do |req|
if req.request_uri.host.start_with? 'www.google.'
new_query_string = req.request_uri.query.gsub(/(?<=^q=|&q=)(((?!&|$).)*)(?=&|$)/, 'RubyInTheMiddle')
req.request_uri.query = new_query_string
end
end
my_picture = File.read('i_am_famous.jpg')
# Replaces every picture on the web with my pretty face
Ritm.on_response do |_req, res|
if res.header['content-type'] && res.header['content-type'].start_with?('image/')
res.header['content-type'] = 'image/jpeg'
res.body = my_picture
end
end
2.- Inicia el servidor proxy
proxy = Ritm::Proxy::Launcher.new
proxy.start
puts 'Hit enter to finish'
gets
proxy.shutdown
3.- Configura el navegador o el cliente HTTP del que quieras interceptar tráfico con el proxy
4.- Navega por Internet: por ejemplo busca cualquier cosa en Google o visita tu periódico favorito
Fuente: https://github.com/argos83/ritm
Via: www.hackplayers.com
Ruby in the middle (RITM)
Reviewed by Zion3R
on
19:26
Rating: