Basic gui plugin support.
git-svn-id: file:///home/svn/framework3/trunk@10178 4d416f70-5f16-0410-b530-b9f4589650daunstable
parent
9253085d13
commit
60105d8f24
Binary file not shown.
|
@ -506,7 +506,6 @@
|
|||
<Menu class="javax.swing.JMenu" name="consoleMenu">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="67"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="consoleMenu.text"/>
|
||||
<Property name="name" type="java.lang.String" value="consoleMenu" noResource="true"/>
|
||||
</Properties>
|
||||
<SubComponents>
|
||||
|
@ -582,6 +581,95 @@
|
|||
</MenuItem>
|
||||
</SubComponents>
|
||||
</Menu>
|
||||
<Menu class="javax.swing.JMenu" name="pluginsMenu">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="108"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="pluginsMenu.text"/>
|
||||
<Property name="name" type="java.lang.String" value="pluginsMenu" noResource="true"/>
|
||||
</Properties>
|
||||
<SubComponents>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="autoAddRouteItem">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="65"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="autoAddRouteItem.text"/>
|
||||
<Property name="name" type="java.lang.String" value="autoAddRouteItem" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="autoAddRouteItemActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="soundItem">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="83"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="soundItem.text"/>
|
||||
<Property name="name" type="java.lang.String" value="soundItem" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="soundItemActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="dbCredcollectItem">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="99"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="dbCredcollectItem.text"/>
|
||||
<Property name="name" type="java.lang.String" value="dbCredcollectItem" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="dbCredcollectItemActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="dbTrackerItem">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="116"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="dbTrackerItem.text"/>
|
||||
<Property name="name" type="java.lang.String" value="dbTrackerItem" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="dbTrackerItemActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="socketLoggerItem">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="107"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="socketLoggerItem.text"/>
|
||||
<Property name="name" type="java.lang.String" value="socketLoggerItem" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="socketLoggerItemActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="ipsFilterItem">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="73"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="ipsFilterItem.text"/>
|
||||
<Property name="name" type="java.lang.String" value="ipsFilterItem" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="ipsFilterItemActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="otherPluginItem">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="79"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="otherPluginItem.text"/>
|
||||
<Property name="name" type="java.lang.String" value="otherPluginItem" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="otherPluginItemActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="unloadPluginItem">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="85"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="unloadPluginItem.text"/>
|
||||
<Property name="name" type="java.lang.String" value="unloadPluginItem" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="unloadPluginItemActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
</SubComponents>
|
||||
</Menu>
|
||||
<Menu class="javax.swing.JMenu" name="helpMenu">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="72"/>
|
||||
|
|
|
@ -439,6 +439,15 @@ public class MainFrame extends FrameView {
|
|||
disconnectItem = new javax.swing.JMenuItem();
|
||||
refreshItem = new javax.swing.JMenuItem();
|
||||
importItem = new javax.swing.JMenuItem();
|
||||
pluginsMenu = new javax.swing.JMenu();
|
||||
autoAddRouteItem = new javax.swing.JMenuItem();
|
||||
soundItem = new javax.swing.JMenuItem();
|
||||
dbCredcollectItem = new javax.swing.JMenuItem();
|
||||
dbTrackerItem = new javax.swing.JMenuItem();
|
||||
socketLoggerItem = new javax.swing.JMenuItem();
|
||||
ipsFilterItem = new javax.swing.JMenuItem();
|
||||
otherPluginItem = new javax.swing.JMenuItem();
|
||||
unloadPluginItem = new javax.swing.JMenuItem();
|
||||
helpMenu = new javax.swing.JMenu();
|
||||
onlineHelpMenu = new javax.swing.JMenuItem();
|
||||
javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
|
||||
|
@ -739,7 +748,6 @@ public class MainFrame extends FrameView {
|
|||
menuBar.add(postMenu);
|
||||
|
||||
consoleMenu.setMnemonic('C');
|
||||
consoleMenu.setText(resourceMap.getString("consoleMenu.text")); // NOI18N
|
||||
consoleMenu.setName("consoleMenu"); // NOI18N
|
||||
|
||||
newConsoleItem.setText(resourceMap.getString("newConsoleItem.text")); // NOI18N
|
||||
|
@ -807,6 +815,92 @@ public class MainFrame extends FrameView {
|
|||
|
||||
menuBar.add(databaseMenu);
|
||||
|
||||
pluginsMenu.setMnemonic('l');
|
||||
pluginsMenu.setText(resourceMap.getString("pluginsMenu.text")); // NOI18N
|
||||
pluginsMenu.setName("pluginsMenu"); // NOI18N
|
||||
|
||||
autoAddRouteItem.setMnemonic('A');
|
||||
autoAddRouteItem.setText(resourceMap.getString("autoAddRouteItem.text")); // NOI18N
|
||||
autoAddRouteItem.setName("autoAddRouteItem"); // NOI18N
|
||||
autoAddRouteItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
autoAddRouteItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
pluginsMenu.add(autoAddRouteItem);
|
||||
|
||||
soundItem.setMnemonic('S');
|
||||
soundItem.setText(resourceMap.getString("soundItem.text")); // NOI18N
|
||||
soundItem.setName("soundItem"); // NOI18N
|
||||
soundItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
soundItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
pluginsMenu.add(soundItem);
|
||||
|
||||
dbCredcollectItem.setMnemonic('c');
|
||||
dbCredcollectItem.setText(resourceMap.getString("dbCredcollectItem.text")); // NOI18N
|
||||
dbCredcollectItem.setName("dbCredcollectItem"); // NOI18N
|
||||
dbCredcollectItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
dbCredcollectItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
pluginsMenu.add(dbCredcollectItem);
|
||||
|
||||
dbTrackerItem.setMnemonic('t');
|
||||
dbTrackerItem.setText(resourceMap.getString("dbTrackerItem.text")); // NOI18N
|
||||
dbTrackerItem.setName("dbTrackerItem"); // NOI18N
|
||||
dbTrackerItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
dbTrackerItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
pluginsMenu.add(dbTrackerItem);
|
||||
|
||||
socketLoggerItem.setMnemonic('k');
|
||||
socketLoggerItem.setText(resourceMap.getString("socketLoggerItem.text")); // NOI18N
|
||||
socketLoggerItem.setName("socketLoggerItem"); // NOI18N
|
||||
socketLoggerItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
socketLoggerItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
pluginsMenu.add(socketLoggerItem);
|
||||
|
||||
ipsFilterItem.setMnemonic('I');
|
||||
ipsFilterItem.setText(resourceMap.getString("ipsFilterItem.text")); // NOI18N
|
||||
ipsFilterItem.setName("ipsFilterItem"); // NOI18N
|
||||
ipsFilterItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
ipsFilterItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
pluginsMenu.add(ipsFilterItem);
|
||||
|
||||
otherPluginItem.setMnemonic('O');
|
||||
otherPluginItem.setText(resourceMap.getString("otherPluginItem.text")); // NOI18N
|
||||
otherPluginItem.setName("otherPluginItem"); // NOI18N
|
||||
otherPluginItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
otherPluginItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
pluginsMenu.add(otherPluginItem);
|
||||
|
||||
unloadPluginItem.setMnemonic('U');
|
||||
unloadPluginItem.setText(resourceMap.getString("unloadPluginItem.text")); // NOI18N
|
||||
unloadPluginItem.setName("unloadPluginItem"); // NOI18N
|
||||
unloadPluginItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
unloadPluginItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
pluginsMenu.add(unloadPluginItem);
|
||||
|
||||
menuBar.add(pluginsMenu);
|
||||
|
||||
helpMenu.setMnemonic('H');
|
||||
helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
|
||||
helpMenu.setName("helpMenu"); // NOI18N
|
||||
|
@ -1000,6 +1094,57 @@ public class MainFrame extends FrameView {
|
|||
}
|
||||
}//GEN-LAST:event_disconnectItemActionPerformed
|
||||
|
||||
private void loadPlugin(String plugin){
|
||||
try {
|
||||
rpcConn.execute("plugin.load",new Object[]{plugin, new HashMap()});
|
||||
JOptionPane.showMessageDialog(getFrame(), "Plugin "+plugin+" loaded.");
|
||||
} catch (MsfException mex) {
|
||||
JOptionPane.showMessageDialog(getFrame(), mex);
|
||||
}
|
||||
}
|
||||
private void otherPluginItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_otherPluginItemActionPerformed
|
||||
String plugin = JOptionPane.showInputDialog(getFrame(),"Enter the name of a plugin","Plugin loader",JOptionPane.QUESTION_MESSAGE);
|
||||
if(plugin != null && plugin.length() > 0)
|
||||
loadPlugin(plugin);
|
||||
}//GEN-LAST:event_otherPluginItemActionPerformed
|
||||
|
||||
private void ipsFilterItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ipsFilterItemActionPerformed
|
||||
loadPlugin("ips_filter");
|
||||
}//GEN-LAST:event_ipsFilterItemActionPerformed
|
||||
|
||||
private void socketLoggerItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_socketLoggerItemActionPerformed
|
||||
loadPlugin("socket_logger");
|
||||
}//GEN-LAST:event_socketLoggerItemActionPerformed
|
||||
|
||||
private void dbTrackerItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dbTrackerItemActionPerformed
|
||||
loadPlugin("db_tracker");
|
||||
}//GEN-LAST:event_dbTrackerItemActionPerformed
|
||||
|
||||
private void soundItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_soundItemActionPerformed
|
||||
loadPlugin("sounds");
|
||||
}//GEN-LAST:event_soundItemActionPerformed
|
||||
|
||||
private void autoAddRouteItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_autoAddRouteItemActionPerformed
|
||||
loadPlugin("auto_add_route");
|
||||
}//GEN-LAST:event_autoAddRouteItemActionPerformed
|
||||
|
||||
private void dbCredcollectItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dbCredcollectItemActionPerformed
|
||||
loadPlugin("db_credcollect");
|
||||
}//GEN-LAST:event_dbCredcollectItemActionPerformed
|
||||
|
||||
private void unloadPluginItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_unloadPluginItemActionPerformed
|
||||
try {
|
||||
Object[] plugins = (Object[])((Map)rpcConn.execute("plugin.loaded")).get("plugins");
|
||||
Object plugin = JOptionPane.showInputDialog(getFrame(), "Choose a plugin to unload", "Unload plugin",
|
||||
JOptionPane.PLAIN_MESSAGE, null, plugins, plugins[0]);
|
||||
if(plugin == null)
|
||||
return;
|
||||
rpcConn.execute("plugin.unload",new Object[]{plugin});
|
||||
} catch (MsfException mex) {
|
||||
JOptionPane.showMessageDialog(getFrame(), mex);
|
||||
}
|
||||
}//GEN-LAST:event_unloadPluginItemActionPerformed
|
||||
|
||||
/** Runs command on all current meterpreter sessions in new thread; posting updates for each thread */
|
||||
private void runOnAllMeterpreters(String cmd, String output, JLabel outputLabel) {
|
||||
SessionCommand.runOnAllMeterpreters(sessionsTableModel, cmd, output, outputLabel, rpcConn);
|
||||
|
@ -1234,6 +1379,7 @@ public class MainFrame extends FrameView {
|
|||
}
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JMenuItem autoAddRouteItem;
|
||||
private javax.swing.JMenu auxiliaryMenu;
|
||||
private javax.swing.JMenuItem changeLFMenuItem;
|
||||
private javax.swing.JMenuItem clearHistoryItem;
|
||||
|
@ -1243,6 +1389,8 @@ public class MainFrame extends FrameView {
|
|||
private javax.swing.JMenuItem connectRpcMenuItem;
|
||||
private javax.swing.JMenu consoleMenu;
|
||||
private javax.swing.JMenu databaseMenu;
|
||||
private javax.swing.JMenuItem dbCredcollectItem;
|
||||
private javax.swing.JMenuItem dbTrackerItem;
|
||||
private javax.swing.JMenuItem disconnectItem;
|
||||
private javax.swing.JTable eventsTable;
|
||||
private javax.swing.JMenu existingConsoleMenu;
|
||||
|
@ -1251,6 +1399,7 @@ public class MainFrame extends FrameView {
|
|||
private javax.swing.JMenu historyMenu;
|
||||
private javax.swing.JTable hostsTable;
|
||||
private javax.swing.JMenuItem importItem;
|
||||
private javax.swing.JMenuItem ipsFilterItem;
|
||||
private javax.swing.JScrollPane jScrollPane1;
|
||||
private javax.swing.JScrollPane jScrollPane2;
|
||||
private javax.swing.JScrollPane jScrollPane3;
|
||||
|
@ -1267,7 +1416,9 @@ public class MainFrame extends FrameView {
|
|||
private javax.swing.JMenuItem newConsoleItem;
|
||||
private javax.swing.JMenuItem onlineHelpMenu;
|
||||
private javax.swing.JMenuItem otherMeterpCommandMenu;
|
||||
private javax.swing.JMenuItem otherPluginItem;
|
||||
private javax.swing.JMenu payloadsMenu;
|
||||
private javax.swing.JMenu pluginsMenu;
|
||||
private javax.swing.JMenu postMenu;
|
||||
private javax.swing.JProgressBar progressBar;
|
||||
public javax.swing.JMenu recentMenu;
|
||||
|
@ -1275,11 +1426,14 @@ public class MainFrame extends FrameView {
|
|||
private javax.swing.JMenuItem searchItem;
|
||||
private javax.swing.JTable servicesTable;
|
||||
private javax.swing.JTable sessionsTable;
|
||||
private javax.swing.JMenuItem socketLoggerItem;
|
||||
private javax.swing.JMenuItem soundItem;
|
||||
private javax.swing.JMenuItem startRpcMenuItem;
|
||||
private javax.swing.JLabel statusAnimationLabel;
|
||||
private javax.swing.JLabel statusMessageLabel;
|
||||
private javax.swing.JPanel statusPanel;
|
||||
private javax.swing.JTabbedPane tabbedPane;
|
||||
private javax.swing.JMenuItem unloadPluginItem;
|
||||
private javax.swing.JTable vulnsTable;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
private final Timer messageTimer;
|
||||
|
|
|
@ -76,3 +76,12 @@ hostsTable.columnModel.title2=Address6
|
|||
hostsTable.columnModel.title1=Address
|
||||
importItem.text=Import
|
||||
disconnectItem.text=Disconnect
|
||||
pluginsMenu.text=Plugins
|
||||
dbTrackerItem.text=DB tracker
|
||||
autoAddRouteItem.text=Auto add route
|
||||
soundItem.text=Sound
|
||||
ipsFilterItem.text=IPS filter
|
||||
socketLoggerItem.text=Socket logger
|
||||
otherPluginItem.text=Other
|
||||
dbCredcollectItem.text=DB credcollect
|
||||
unloadPluginItem.text=Unload plugin
|
||||
|
|
Loading…
Reference in New Issue