Introduction
Introduction Statistics Contact Development Disclaimer Help
Almost to 1.0.0 - warvox - VoIP based wardialing tool, forked from rapid7/warvo…
Log
Files
Refs
README
---
commit 50ea541b3b0f3d947dac9d04a2e18b4a55de9d89
parent 6389d305a83d6a5384d3332e5ca69cf6d35a8abf
Author: HD Moore <[email protected]>
Date: Wed, 4 Mar 2009 05:41:01 +0000
Almost to 1.0.0
Diffstat:
A docs/LICENSE.musicplayer | 10 ++++++++++
M web/app/controllers/home_controlle… | 13 +++++++------
M web/app/views/analyze/view.html.erb | 23 +++++++++++++++--------
M web/app/views/dial_results/index.h… | 8 +++-----
M web/app/views/home/about.html.erb | 133 +++++++++++++++++++++++++++++…
M web/app/views/home/index.html.erb | 157 +++++++----------------------…
D web/app/views/layouts/dial_jobs.ht… | 17 -----------------
D web/app/views/layouts/dial_results… | 17 -----------------
D web/app/views/layouts/providers.ht… | 17 -----------------
M web/config/routes.rb | 3 +++
A web/public/images/musicplayer.swf | 0
M web/public/javascripts/FusionChart… | 8 +++++---
12 files changed, 209 insertions(+), 197 deletions(-)
---
diff --git a/docs/LICENSE.musicplayer b/docs/LICENSE.musicplayer
@@ -0,0 +1,10 @@
+Copyright (c) 2005, Fabricio Zuardi
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modificatio…
+
+ * Redistributions of source code must retain the above copyright notice, t…
+ * Redistributions in binary form must reproduce the above copyright notice…
+ * Neither the name of the author nor the names of its contributors may be …
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AN…
diff --git a/web/app/controllers/home_controller.rb b/web/app/controllers/home_…
@@ -2,14 +2,15 @@ class HomeController < ApplicationController
layout 'warvox'
def index
- begin
- @kissfft_loaded = false
- require 'kissfft'
- @kissfft_loaded = true
- rescue
- end
+
end
def about
+ begin
+ @has_kissfft = "MISSING"
+ require 'kissfft'
+ @has_kissfft = $LOADED_FEATURES.grep(/kissfft/)[0]
+ rescue ::LoadError
+ end
end
end
diff --git a/web/app/views/analyze/view.html.erb b/web/app/views/analyze/view.h…
@@ -14,28 +14,35 @@
<th>ID</th>
<th>Number</th>
<th>Type</th>
- <th>Peak Freq</th>
<th>Signal</th>
<th>Spectrum</th>
<th>CID</th>
<th>Provider</th>
- <th>Call Time</th>
- <th>Ring Time</th>
+ <th>Time</th>
+ <th>Ring</th>
</tr>
<% @results.each do |dial_result| %>
<tr>
<td><%=h dial_result.id %></td>
<td>
- <a href="<%=resource_analyze_path(@job_id)%>?result_id=<%= dia…
+ <b><%= dial_result.number %></b><br/>
+ <object
+ type="application/x-shockwave-flash"
+ data="/images/musicplayer.swf?song_url=<%=resource_ana…
+ width="20"
+ height="17"
+ >
+ <param name="movie" value="/musicplayer.swf?song_url=<…
+ <param name="wmode" value="transparent"></param>
+ </object>
</td>
- <td><%=h dial_result.line_type %></td>
- <td><%=h dial_result.peak_freq.to_i %></td>
+ <td><%=h dial_result.line_type.upcase %></td>
<td>
- <a href="<%=resource_analyze_path(@job_id)%>?result_id=<%= dia…
+ <a href="<%=resource_analyze_path(@job_id)%>/<%= dial_result.i…
</td>
<td>
- <a href="<%=resource_analyze_path(@job_id)%>?result_id=<%= dia…
+ <a href="<%=resource_analyze_path(@job_id)%>/<%= dial_result.i…
</td>
<td><%=h dial_result.cid %></td>
diff --git a/web/app/views/dial_results/index.html.erb b/web/app/views/dial_res…
@@ -5,9 +5,8 @@
<tr>
<th>ID</th>
<th>Range</th>
- <th>CallerID</th>
- <th>Seconds</th>
- <th>Lines</th>
+ <th>CID</th>
+ <th>Time</th>
<th>Started</th>
</tr>
@@ -17,7 +16,6 @@
<td><%=h dial_job.range %></td>
<td><%=h dial_job.cid_mask %></td>
<td><%=h dial_job.seconds %></td>
- <td><%=h dial_job.lines %></td>
<td><%=h dial_job.started_at.localtime.strftime("%Y-%m-%d %H:%M:%S %Z") %>…
<td><%= link_to 'View', view_dial_result_path(dial_job) %></td>
<% if(dial_job.processed) %>
@@ -25,7 +23,7 @@
<% else %>
<td><%= link_to 'Analyze Calls', analyze_dial_result_path(dial…
<% end %>
- <td><%= link_to 'Purge Data', purge_dial_result_path(dial_job), :confi…
+ <td><%= link_to 'Purge', purge_dial_result_path(dial_job), :confirm =>…
</tr>
<% end %>
</table>
diff --git a/web/app/views/home/about.html.erb b/web/app/views/home/about.html.…
@@ -0,0 +1,133 @@
+<table width='100%' align='center' border='0' cellpadding='9' cellspacing='0'>
+<tr><td valign='top'>
+
+<h1 class='title'>About WarVOX</h1>
+
+<b>WarVOX</b> is a product of <a href="http://metasploit.com">Metasploit LLC</…
+free software under a
+<a href="http://creativecommons.org/licenses/by-nc/3.0/">non-commercial</a> li…
+intended for legal security assessment, asset inventory, and research purposes…
+of WarVOX can be found at <a href="http://warvox.org/">http://warvox.org/</a>.…
+team can be reached by email at warvox[at]metasploit.com.
+
+</td><td valign='top' align='center'>
+
+
+<h1 class='title'>Statistics</h1>
+
+<table id="warvox_stats" cellspacing="0" width=200>
+
+<tr>
+ <td valign="top" align="right" class="header_item">
+ WarVOX Version:
+ </td>
+ <td><%= WarVOX::VERSION %></td>
+</tr>
+
+<tr>
+ <td valign="top" align="right" class="header_item">
+ Providers:
+ </td>
+ <td><%= Provider.find(:all).length %></td>
+</tr>
+
+
+<tr>
+ <td valign="top" align="right" class="header_item">
+ Active Jobs:
+ </td>
+ <td><%= DialJob.find_all_by_status('active').length %></td>
+</tr>
+
+<tr>
+ <td valign="top" align="right" class="header_item">
+ Total Jobs:
+ </td>
+ <td><%= DialJob.find(:all).length %></td>
+</tr>
+
+<tr>
+ <td valign="top" align="right" class="header_item">
+ Results:
+ </td>
+ <td><%= DialResult.find(:all).length %></td>
+</tr>
+</table>
+
+
+</td></tr>
+<tr><td valign='top' colspan='2'>
+
+<h1 class='title'>Configuration</h1>
+
+
+<table id="warvox_conf" cellspacing="0" width='100%'>
+
+<tr>
+ <td valign="top" align="right" class="header_item" width='200'>
+ Base Directory:
+ </td>
+ <td><%= WarVOX::Base %></td>
+</tr>
+
+
+<tr>
+ <td valign="top" align="right" class="header_item" width='200'>
+ Configuration File:
+ </td>
+ <td><%= WarVOX::Conf %></td>
+</tr>
+
+
+<tr>
+ <td valign="top" align="right" class="header_item" width='200'>
+ Data Storage:
+ </td>
+ <td><%= WarVOX::Config.data_path %></td>
+</tr>
+
+<tr>
+ <td valign="top" align="right" class="header_item" width='200'>
+ Admin User:
+ </td>
+ <td><%= WarVOX::Config.authentication_creds[0] %></td>
+</tr>
+
+<tr>
+ <td valign="top" align="right" class="header_item" width='200'>
+ GNUPlot
+ </td>
+ <td><%= WarVOX::Config.tool_path('gnuplot') || "MISSING" %></td>
+</tr>
+
+<tr>
+ <td valign="top" align="right" class="header_item" width='200'>
+ SOX
+ </td>
+ <td><%= WarVOX::Config.tool_path('sox') || "MISSING" %></td>
+</tr>
+
+<tr>
+ <td valign="top" align="right" class="header_item" width='200'>
+ LAME
+ </td>
+ <td><%= WarVOX::Config.tool_path('lame') || "MISSING" %></td>
+</tr>
+
+<tr>
+ <td valign="top" align="right" class="header_item" width='200'>
+ IAXRECORD
+ </td>
+ <td><%= WarVOX::Config.tool_path('iaxrecord') || "MISSING" %></td>
+</tr>
+
+<tr>
+ <td valign="top" align="right" class="header_item" width='200'>
+ KissFFT
+ </td>
+ <td><%= @kissfft_loaded ? ($LOADED_FEATURES.grep(/kissfft/)[0] ) : "MI…
+</tr>
+</table>
+
+
+</td></tr></table>
diff --git a/web/app/views/home/index.html.erb b/web/app/views/home/index.html.…
@@ -1,136 +1,45 @@
-<table width='100%' align='center' border='0' cellpadding='9' cellspacing='0'>
-<tr><td valign='top'>
-
<h1 class='title'>Introduction</h1>
-<b>WarVOX</b> is a suite of tools for exploring, classifying, and auditing the
-telephone system. Unlike normal wardialing tools, WarVOX works with the actual
-audio from each call and does not use a modem directly. This model allows
-WarVOX to find and classify a wide range of devices, including modems, through
-direct data analysis. To get started, configure an IAX-capable VoIP provider
-in the <b>Providers</b> section, then submit a new <b>Job</b>. Keep in mind
-that the laws regulating automated dialing can vary by location, it is your
-responsibility to ensure that your local laws and the laws governing the
-target telephone range are respected.
-
-</td><td valign='top' align='center'>
-
-
-<h1 class='title'>Statistics</h1>
-
-<table id="warvox_stats" cellspacing="0" width=200>
-
-<tr>
- <td valign="top" align="right" class="header_item">
- WarVOX Version:
- </td>
- <td><%= WarVOX::VERSION %></td>
-</tr>
-
-<tr>
- <td valign="top" align="right" class="header_item">
- Providers:
- </td>
- <td><%= Provider.find(:all).length %></td>
-</tr>
-
-
-<tr>
- <td valign="top" align="right" class="header_item">
- Active Jobs:
- </td>
- <td><%= DialJob.find_all_by_status('active').length %></td>
-</tr>
-
-<tr>
- <td valign="top" align="right" class="header_item">
- Total Jobs:
- </td>
- <td><%= DialJob.find(:all).length %></td>
-</tr>
-
-<tr>
- <td valign="top" align="right" class="header_item">
- Results:
- </td>
- <td><%= DialResult.find(:all).length %></td>
-</tr>
-</table>
-
-
-</td></tr>
-<tr><td valign='top' colspan='2'>
-
-<h1 class='title'>Configuration</h1>
-
-
-<table id="warvox_conf" cellspacing="0" width='100%'>
-
-<tr>
- <td valign="top" align="right" class="header_item" width='200'>
- Base Directory:
- </td>
- <td><%= WarVOX::Base %></td>
-</tr>
-
-
-<tr>
- <td valign="top" align="right" class="header_item" width='200'>
- Configuration File:
- </td>
- <td><%= WarVOX::Conf %></td>
-</tr>
+<p>
+WarVOX is a suite of tools for exploring, classifying, and auditing telephone …
+WarVOX works with the actual audio from each call and does not use a modem dir…
+and classify a wide range of interesting lines, including modems, faxes, voice…
+and forwarders. WarVOX provides the unique ability to classify all telephone l…
+connected to modems, allowing for a comprehensive audit of a telephone system.
+</p>
+<h1 class='title'>Getting Started</h1>
+<p>
+In order to make phone calls, WarVOX needs to be configured with one or more s…
+</p>
-<tr>
- <td valign="top" align="right" class="header_item" width='200'>
- Data Storage:
- </td>
- <td><%= WarVOX::Config.data_path %></td>
-</tr>
+<p>Once one or more service providers have been configured, click the <a href=…
+</p>
-<tr>
- <td valign="top" align="right" class="header_item" width='200'>
- Admin User:
- </td>
- <td><%= WarVOX::Config.authentication_creds[0] %></td>
-</tr>
+<p>The phone number range is specified by entering the full 10-digit phone num…
+</p>
-<tr>
- <td valign="top" align="right" class="header_item" width='200'>
- GNUPlot
- </td>
- <td><%= WarVOX::Config.tool_path('gnuplot') || "MISSING" %></td>
-</tr>
+<p>
+The seconds field indicates the number of seconds to spend on each call, inclu…
+</p>
-<tr>
- <td valign="top" align="right" class="header_item" width='200'>
- SOX
- </td>
- <td><%= WarVOX::Config.tool_path('sox') || "MISSING" %></td>
-</tr>
+<p>
+The outgoing line count is limited by the number of providers available and th…
+</p>
-<tr>
- <td valign="top" align="right" class="header_item" width='200'>
- LAME
- </td>
- <td><%= WarVOX::Config.tool_path('lame') || "MISSING" %></td>
-</tr>
+<p>The Caller ID is specified by entering the full 10-digit phone number, with…
+</p>
-<tr>
- <td valign="top" align="right" class="header_item" width='200'>
- IAXRECORD
- </td>
- <td><%= WarVOX::Config.tool_path('iaxrecord') || "MISSING" %></td>
-</tr>
+<p>
+Once the job parameters have been specified, click the <b>Create</b> button to…
+</p>
-<tr>
- <td valign="top" align="right" class="header_item" width='200'>
- KissFFT
- </td>
- <td><%= @kissfft_loaded ? ($LOADED_FEATURES.grep(/kissfft/)[0] ) : "MI…
-</tr>
-</table>
+<p>
+After the job completes, access the <a href="/dial_results/">Results</a> link …
+</p>
-</td></tr></table>
+<h1 class='title'>Troubleshooting</h1>
+<p>
+If for some reason WarVOX is not working correctly, or if you have any questio…
+</p>
diff --git a/web/app/views/layouts/dial_jobs.html.erb b/web/app/views/layouts/d…
@@ -1,17 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
- <title>DialJobs: <%= controller.action_name %></title>
- <%= stylesheet_link_tag 'scaffold' %>
-</head>
-<body>
-
-<p style="color: green"><%= flash[:notice] %></p>
-
-<%= yield %>
-
-</body>
-</html>
diff --git a/web/app/views/layouts/dial_results.html.erb b/web/app/views/layout…
@@ -1,17 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
- <title>DialResults: <%= controller.action_name %></title>
- <%= stylesheet_link_tag 'scaffold' %>
-</head>
-<body>
-
-<p style="color: green"><%= flash[:notice] %></p>
-
-<%= yield %>
-
-</body>
-</html>
diff --git a/web/app/views/layouts/providers.html.erb b/web/app/views/layouts/p…
@@ -1,17 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
- <title>Providers: <%= controller.action_name %></title>
- <%= stylesheet_link_tag 'scaffold' %>
-</head>
-<body>
-
-<p style="color: green"><%= flash[:notice] %></p>
-
-<%= yield %>
-
-</body>
-</html>
diff --git a/web/config/routes.rb b/web/config/routes.rb
@@ -4,6 +4,9 @@ ActionController::Routing::Routes.draw do |map|
map.resources :dial_jobs, :has_many => [ :dial_results ], :member => { :run …
map.resources :analyze, :member => { :view => :get, :resource => :get }
+ map.connect 'analyze/:id/resource/:result_id/:type', :controller => 'analy…
+
+
map.resources :providers
# The priority is based upon order of creation: first created -> highest pri…
diff --git a/web/public/images/musicplayer.swf b/web/public/images/musicplayer.…
Binary files differ.
diff --git a/web/public/javascripts/FusionCharts.js b/web/public/javascripts/Fu…
@@ -30,7 +30,10 @@ infosoftglobal.FusionCharts = function(swf, id, w, h, debugM…
//Set Quality
this.addParam('quality', 'high');
-
+
+ //Set WMODE
+ this.addParam('wmode', 'transparent');
+
//Add scripting access parameter
this.addParam('allowScriptAccess', 'always');
@@ -307,4 +310,4 @@ infosoftglobal.FusionChartsUtil.updateChartXML = function(c…
/* Aliases for easy usage */
var getChartFromId = infosoftglobal.FusionChartsUtil.getChartObject;
var updateChartXML = infosoftglobal.FusionChartsUtil.updateChartXML;
-var FusionCharts = infosoftglobal.FusionCharts;
-\ No newline at end of file
+var FusionCharts = infosoftglobal.FusionCharts;
You are viewing proxied material from jay.scot. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.