Initial Database support, with improved basic view.
git-svn-id: file:///home/svn/framework3/trunk@10124 4d416f70-5f16-0410-b530-b9f4589650daunstable
parent
d7e9a25bc7
commit
f94e174d97
Binary file not shown.
|
@ -155,6 +155,11 @@ public class InteractWindow extends MsfFrame {
|
|||
outputArea.setFont(new Font("Monospaced", outputArea.getFont().getStyle(), 12));
|
||||
checkPrompt(session);
|
||||
}
|
||||
/** Also sets initial command */
|
||||
public InteractWindow(final RpcConnection rpcConn, final Map session, String type, String initVal) {
|
||||
this(rpcConn,session, type);
|
||||
inputField.setText(initVal);
|
||||
}
|
||||
/** Sets the prompt if provided */
|
||||
private void checkPrompt(Map o) {
|
||||
try{
|
||||
|
|
|
@ -10,187 +10,232 @@
|
|||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="splitPane" pref="887" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="jTabbedPane1" alignment="0" pref="882" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<Component id="splitPane" pref="462" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="jTabbedPane1" alignment="1" pref="532" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JSplitPane" name="splitPane">
|
||||
<Container class="javax.swing.JTabbedPane" name="jTabbedPane1">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="null"/>
|
||||
</Property>
|
||||
<Property name="lastDividerLocation" type="int" value="250"/>
|
||||
<Property name="name" type="java.lang.String" value="splitPane" noResource="true"/>
|
||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[30, 20]"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jTabbedPane1" noResource="true"/>
|
||||
</Properties>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JPanel" name="jobsPanel">
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jobsPanel" noResource="true"/>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane1" noResource="true"/>
|
||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[10, 19]"/>
|
||||
<Dimension value="[10, 10]"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
|
||||
<JSplitPaneConstraints position="left"/>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
|
||||
<JTabbedPaneConstraints tabName="Jobs">
|
||||
<Property name="tabTitle" type="java.lang.String" resourceKey="jScrollPane1.TabConstraints.tabTitle"/>
|
||||
</JTabbedPaneConstraints>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jScrollPane1" alignment="0" pref="38" max="32767" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="jobsLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="jobsLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="jScrollPane1" pref="417" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="jobsLabel">
|
||||
<Component class="javax.swing.JList" name="jobsList">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" resourceKey="jobsLabel.text"/>
|
||||
<Property name="name" type="java.lang.String" value="jobsLabel" noResource="true"/>
|
||||
<Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor">
|
||||
<StringArray count="0"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jobsList" noResource="true"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane1" noResource="true"/>
|
||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||
<Dimension value="[10, 10]"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JList" name="jobsList">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor">
|
||||
<StringArray count="0"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="jobsList" noResource="true"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="sessionsPanel">
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane2">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="sessionsPanel" noResource="true"/>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane2" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
|
||||
<JSplitPaneConstraints position="right"/>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
|
||||
<JTabbedPaneConstraints tabName="Sessions">
|
||||
<Property name="tabTitle" type="java.lang.String" resourceKey="jScrollPane2.TabConstraints.tabTitle"/>
|
||||
</JTabbedPaneConstraints>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="sessionsLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace pref="717" max="32767" attributes="0"/>
|
||||
<Component id="searchButton" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="jScrollPane2" alignment="1" pref="843" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace min="-2" pref="12" max="-2" attributes="0"/>
|
||||
<Component id="sessionsLabel" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="searchButton" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="jScrollPane2" pref="417" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JLabel" name="sessionsLabel">
|
||||
<Component class="javax.swing.JTable" name="sessionsTable">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" resourceKey="sessionsLabel.text"/>
|
||||
<Property name="name" type="java.lang.String" value="sessionsLabel" noResource="true"/>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="0" rowCount="0"/>
|
||||
</Property>
|
||||
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||
<TableColumnModel selectionModel="0"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="sessionsTable" noResource="true"/>
|
||||
<Property name="selectionModel" type="javax.swing.ListSelectionModel" editor="org.netbeans.modules.form.editors2.JTableSelectionModelEditor">
|
||||
<JTableSelectionModel selectionMode="2"/>
|
||||
</Property>
|
||||
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
|
||||
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane2">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane2" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane3">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane3" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
|
||||
<JTabbedPaneConstraints tabName="Hosts">
|
||||
<Property name="tabTitle" type="java.lang.String" resourceKey="jScrollPane3.TabConstraints.tabTitle"/>
|
||||
</JTabbedPaneConstraints>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTable" name="sessionsTable">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="0" rowCount="0"/>
|
||||
</Property>
|
||||
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||
<TableColumnModel selectionModel="0"/>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="sessionsTable" noResource="true"/>
|
||||
<Property name="selectionModel" type="javax.swing.ListSelectionModel" editor="org.netbeans.modules.form.editors2.JTableSelectionModelEditor">
|
||||
<JTableSelectionModel selectionMode="2"/>
|
||||
</Property>
|
||||
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
|
||||
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Component class="javax.swing.JButton" name="searchButton">
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTable" name="hostsTable">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" resourceKey="searchButton.text"/>
|
||||
<Property name="name" type="java.lang.String" value="searchButton" noResource="true"/>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="13" rowCount="0">
|
||||
<Column editable="true" title="Created" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Address" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Address6" type="java.lang.String"/>
|
||||
<Column editable="true" title="MAC" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Name" type="java.lang.Object"/>
|
||||
<Column editable="true" title="State" type="java.lang.Object"/>
|
||||
<Column editable="true" title="OS name" type="java.lang.Object"/>
|
||||
<Column editable="true" title="OS flavor" type="java.lang.Object"/>
|
||||
<Column editable="true" title="OS SP" type="java.lang.Object"/>
|
||||
<Column editable="true" title="OS lang" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Updated" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Purpose" type="java.lang.Object"/>
|
||||
<Column editable="true" title="Info" type="java.lang.Object"/>
|
||||
</Table>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="hostsTable" noResource="true"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane4">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane4" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
|
||||
<JTabbedPaneConstraints tabName="Services">
|
||||
<Property name="tabTitle" type="java.lang.String" resourceKey="jScrollPane4.TabConstraints.tabTitle"/>
|
||||
</JTabbedPaneConstraints>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTable" name="servicesTable">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="8" rowCount="0">
|
||||
<Column editable="true" title="Host" type="java.lang.String"/>
|
||||
<Column editable="true" title="Created" type="java.lang.String"/>
|
||||
<Column editable="true" title="Updated" type="java.lang.String"/>
|
||||
<Column editable="true" title="Port" type="java.lang.Integer"/>
|
||||
<Column editable="true" title="Proto" type="java.lang.String"/>
|
||||
<Column editable="true" title="State" type="java.lang.String"/>
|
||||
<Column editable="true" title="Name" type="java.lang.String"/>
|
||||
<Column editable="true" title="Info" type="java.lang.String"/>
|
||||
</Table>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="servicesTable" noResource="true"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane5">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane5" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
|
||||
<JTabbedPaneConstraints tabName="Vulns">
|
||||
<Property name="tabTitle" type="java.lang.String" resourceKey="jScrollPane5.TabConstraints.tabTitle"/>
|
||||
</JTabbedPaneConstraints>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTable" name="vulnsTable">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="6" rowCount="0">
|
||||
<Column editable="true" title="Port" type="java.lang.String"/>
|
||||
<Column editable="true" title="Proto" type="java.lang.String"/>
|
||||
<Column editable="true" title="Time" type="java.lang.String"/>
|
||||
<Column editable="true" title="Host" type="java.lang.String"/>
|
||||
<Column editable="true" title="Name" type="java.lang.String"/>
|
||||
<Column editable="true" title="Refs" type="java.lang.String"/>
|
||||
</Table>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="vulnsTable" noResource="true"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane6">
|
||||
<Properties>
|
||||
<Property name="name" type="java.lang.String" value="jScrollPane6" noResource="true"/>
|
||||
</Properties>
|
||||
<AuxValues>
|
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||
</AuxValues>
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
|
||||
<JTabbedPaneConstraints tabName="Events">
|
||||
<Property name="tabTitle" type="java.lang.String" resourceKey="jScrollPane6.TabConstraints.tabTitle"/>
|
||||
</JTabbedPaneConstraints>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTable" name="eventsTable">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||
<Table columnCount="7" rowCount="0">
|
||||
<Column editable="true" title="Host" type="java.lang.String"/>
|
||||
<Column editable="true" title="Created" type="java.lang.String"/>
|
||||
<Column editable="true" title="Updated" type="java.lang.String"/>
|
||||
<Column editable="true" title="Name" type="java.lang.String"/>
|
||||
<Column editable="true" title="Critical" type="java.lang.String"/>
|
||||
<Column editable="true" title="Username" type="java.lang.String"/>
|
||||
<Column editable="true" title="Info" type="java.lang.String"/>
|
||||
</Table>
|
||||
</Property>
|
||||
<Property name="name" type="java.lang.String" value="eventsTable" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="searchButtonActionPerformed"/>
|
||||
</Events>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
|
@ -240,6 +285,15 @@
|
|||
<Property name="name" type="java.lang.String" value="jSeparator1" noResource="true"/>
|
||||
</Properties>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="searchItem">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" resourceKey="searchItem.text"/>
|
||||
<Property name="name" type="java.lang.String" value="searchItem" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="searchItemActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="changeLFMenuItem">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="76"/>
|
||||
|
@ -406,6 +460,35 @@
|
|||
</Menu>
|
||||
</SubComponents>
|
||||
</Menu>
|
||||
<Menu class="javax.swing.JMenu" name="databaseMenu">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="68"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="databaseMenu.text"/>
|
||||
<Property name="name" type="java.lang.String" value="databaseMenu" noResource="true"/>
|
||||
</Properties>
|
||||
<SubComponents>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="connectItem">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="67"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="connectItem.text"/>
|
||||
<Property name="name" type="java.lang.String" value="connectItem" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="connectItemActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
<MenuItem class="javax.swing.JMenuItem" name="refreshItem">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="82"/>
|
||||
<Property name="text" type="java.lang.String" resourceKey="refreshItem.text"/>
|
||||
<Property name="name" type="java.lang.String" value="refreshItem" noResource="true"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="refreshItemActionPerformed"/>
|
||||
</Events>
|
||||
</MenuItem>
|
||||
</SubComponents>
|
||||
</Menu>
|
||||
<Menu class="javax.swing.JMenu" name="helpMenu">
|
||||
<Properties>
|
||||
<Property name="mnemonic" type="int" value="72"/>
|
||||
|
@ -450,7 +533,7 @@
|
|||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="statusMessageLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace pref="725" max="32767" attributes="0"/>
|
||||
<EmptySpace pref="698" max="32767" attributes="0"/>
|
||||
<Component id="progressBar" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="statusAnimationLabel" min="-2" max="-2" attributes="0"/>
|
||||
|
@ -467,7 +550,7 @@
|
|||
<Component id="statusAnimationLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="progressBar" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace min="-2" pref="3" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="12" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
|
@ -525,6 +608,6 @@
|
|||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,22,0,0,3,-113"/>
|
||||
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,89,0,0,3,114"/>
|
||||
</AuxValues>
|
||||
</Form>
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
package msfgui;
|
||||
|
||||
import java.awt.Component;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.HeadlessException;
|
||||
import java.awt.event.WindowEvent;
|
||||
import org.jdesktop.application.Action;
|
||||
|
@ -24,6 +25,7 @@ import java.util.HashMap;
|
|||
import java.util.TreeMap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
import javax.swing.Timer;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.JComponent;
|
||||
|
@ -36,6 +38,7 @@ import javax.swing.JOptionPane;
|
|||
import javax.swing.JPopupMenu;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.table.DefaultTableModel;
|
||||
import org.jdesktop.application.Task;
|
||||
import org.jdesktop.swingworker.SwingWorker;
|
||||
import org.w3c.dom.Element;
|
||||
|
@ -56,7 +59,6 @@ public class MainFrame extends FrameView {
|
|||
public MainFrame(SingleFrameApplication app) {
|
||||
super(app);
|
||||
initComponents();
|
||||
splitPane.setDividerLocation(200);
|
||||
sessionsTableModel = null;
|
||||
sessionPopupMap = new HashMap();
|
||||
|
||||
|
@ -144,8 +146,8 @@ public class MainFrame extends FrameView {
|
|||
}
|
||||
|
||||
/** Adds menu items for reopening and closing the console */
|
||||
private void registerConsole(Map res, boolean show) {
|
||||
final InteractWindow iw = new InteractWindow(rpcConn, res, "console");
|
||||
private void registerConsole(Map res, boolean show, String initVal) {
|
||||
final InteractWindow iw = new InteractWindow(rpcConn, res, "console", initVal);
|
||||
iw.setVisible(show);
|
||||
final String id = res.get("id").toString();
|
||||
final JMenuItem openItem = new JMenuItem(id);
|
||||
|
@ -317,7 +319,7 @@ public class MainFrame extends FrameView {
|
|||
try{
|
||||
Object[] consoles = (Object[]) ((Map)rpcConn.execute("console.list")).get("consoles");
|
||||
for (Object console : consoles)
|
||||
registerConsole((Map)console,false);
|
||||
registerConsole((Map)console,false, "");
|
||||
}catch (MsfException mex){
|
||||
JOptionPane.showMessageDialog(getFrame(), mex);
|
||||
}
|
||||
|
@ -389,21 +391,25 @@ public class MainFrame extends FrameView {
|
|||
private void initComponents() {
|
||||
|
||||
mainPanel = new javax.swing.JPanel();
|
||||
splitPane = new javax.swing.JSplitPane();
|
||||
jobsPanel = new javax.swing.JPanel();
|
||||
jobsLabel = new javax.swing.JLabel();
|
||||
jTabbedPane1 = new javax.swing.JTabbedPane();
|
||||
jScrollPane1 = new javax.swing.JScrollPane();
|
||||
jobsList = new javax.swing.JList();
|
||||
sessionsPanel = new javax.swing.JPanel();
|
||||
sessionsLabel = new javax.swing.JLabel();
|
||||
jScrollPane2 = new javax.swing.JScrollPane();
|
||||
sessionsTable = new javax.swing.JTable();
|
||||
searchButton = new javax.swing.JButton();
|
||||
jScrollPane3 = new javax.swing.JScrollPane();
|
||||
hostsTable = new javax.swing.JTable();
|
||||
jScrollPane4 = new javax.swing.JScrollPane();
|
||||
servicesTable = new javax.swing.JTable();
|
||||
jScrollPane5 = new javax.swing.JScrollPane();
|
||||
vulnsTable = new javax.swing.JTable();
|
||||
jScrollPane6 = new javax.swing.JScrollPane();
|
||||
eventsTable = new javax.swing.JTable();
|
||||
menuBar = new javax.swing.JMenuBar();
|
||||
javax.swing.JMenu fileMenu = new javax.swing.JMenu();
|
||||
connectRpcMenuItem = new javax.swing.JMenuItem();
|
||||
startRpcMenuItem = new javax.swing.JMenuItem();
|
||||
jSeparator1 = new javax.swing.JPopupMenu.Separator();
|
||||
searchItem = new javax.swing.JMenuItem();
|
||||
changeLFMenuItem = new javax.swing.JMenuItem();
|
||||
javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
|
||||
exploitsMenu = new javax.swing.JMenu();
|
||||
|
@ -422,6 +428,9 @@ public class MainFrame extends FrameView {
|
|||
newConsoleItem = new javax.swing.JMenuItem();
|
||||
existingConsoleMenu = new javax.swing.JMenu();
|
||||
closeConsoleMenu = new javax.swing.JMenu();
|
||||
databaseMenu = new javax.swing.JMenu();
|
||||
connectItem = new javax.swing.JMenuItem();
|
||||
refreshItem = new javax.swing.JMenuItem();
|
||||
helpMenu = new javax.swing.JMenu();
|
||||
onlineHelpMenu = new javax.swing.JMenuItem();
|
||||
javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
|
||||
|
@ -432,17 +441,7 @@ public class MainFrame extends FrameView {
|
|||
|
||||
mainPanel.setName("mainPanel"); // NOI18N
|
||||
|
||||
splitPane.setBorder(null);
|
||||
splitPane.setLastDividerLocation(250);
|
||||
splitPane.setName("splitPane"); // NOI18N
|
||||
splitPane.setPreferredSize(new java.awt.Dimension(30, 20));
|
||||
|
||||
jobsPanel.setName("jobsPanel"); // NOI18N
|
||||
jobsPanel.setPreferredSize(new java.awt.Dimension(10, 19));
|
||||
|
||||
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(msfgui.MsfguiApp.class).getContext().getResourceMap(MainFrame.class);
|
||||
jobsLabel.setText(resourceMap.getString("jobsLabel.text")); // NOI18N
|
||||
jobsLabel.setName("jobsLabel"); // NOI18N
|
||||
jTabbedPane1.setName("jTabbedPane1"); // NOI18N
|
||||
|
||||
jScrollPane1.setName("jScrollPane1"); // NOI18N
|
||||
jScrollPane1.setPreferredSize(new java.awt.Dimension(10, 10));
|
||||
|
@ -450,31 +449,8 @@ public class MainFrame extends FrameView {
|
|||
jobsList.setName("jobsList"); // NOI18N
|
||||
jScrollPane1.setViewportView(jobsList);
|
||||
|
||||
javax.swing.GroupLayout jobsPanelLayout = new javax.swing.GroupLayout(jobsPanel);
|
||||
jobsPanel.setLayout(jobsPanelLayout);
|
||||
jobsPanelLayout.setHorizontalGroup(
|
||||
jobsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 38, Short.MAX_VALUE)
|
||||
.addGroup(jobsPanelLayout.createSequentialGroup()
|
||||
.addComponent(jobsLabel)
|
||||
.addContainerGap())
|
||||
);
|
||||
jobsPanelLayout.setVerticalGroup(
|
||||
jobsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jobsPanelLayout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(jobsLabel)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 417, Short.MAX_VALUE)
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
splitPane.setLeftComponent(jobsPanel);
|
||||
|
||||
sessionsPanel.setName("sessionsPanel"); // NOI18N
|
||||
|
||||
sessionsLabel.setText(resourceMap.getString("sessionsLabel.text")); // NOI18N
|
||||
sessionsLabel.setName("sessionsLabel"); // NOI18N
|
||||
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(msfgui.MsfguiApp.class).getContext().getResourceMap(MainFrame.class);
|
||||
jTabbedPane1.addTab(resourceMap.getString("jScrollPane1.TabConstraints.tabTitle"), jScrollPane1); // NOI18N
|
||||
|
||||
jScrollPane2.setName("jScrollPane2"); // NOI18N
|
||||
|
||||
|
@ -490,54 +466,109 @@ public class MainFrame extends FrameView {
|
|||
sessionsTable.setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
|
||||
jScrollPane2.setViewportView(sessionsTable);
|
||||
|
||||
searchButton.setText(resourceMap.getString("searchButton.text")); // NOI18N
|
||||
searchButton.setName("searchButton"); // NOI18N
|
||||
searchButton.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
searchButtonActionPerformed(evt);
|
||||
jTabbedPane1.addTab(resourceMap.getString("jScrollPane2.TabConstraints.tabTitle"), jScrollPane2); // NOI18N
|
||||
|
||||
jScrollPane3.setName("jScrollPane3"); // NOI18N
|
||||
|
||||
hostsTable.setModel(new javax.swing.table.DefaultTableModel(
|
||||
new Object [][] {
|
||||
|
||||
},
|
||||
new String [] {
|
||||
"Created", "Address", "Address6", "MAC", "Name", "State", "OS name", "OS flavor", "OS SP", "OS lang", "Updated", "Purpose", "Info"
|
||||
}
|
||||
) {
|
||||
Class[] types = new Class [] {
|
||||
java.lang.Object.class, java.lang.Object.class, java.lang.String.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class
|
||||
};
|
||||
|
||||
public Class getColumnClass(int columnIndex) {
|
||||
return types [columnIndex];
|
||||
}
|
||||
});
|
||||
hostsTable.setName("hostsTable"); // NOI18N
|
||||
jScrollPane3.setViewportView(hostsTable);
|
||||
|
||||
javax.swing.GroupLayout sessionsPanelLayout = new javax.swing.GroupLayout(sessionsPanel);
|
||||
sessionsPanel.setLayout(sessionsPanelLayout);
|
||||
sessionsPanelLayout.setHorizontalGroup(
|
||||
sessionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(sessionsPanelLayout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(sessionsLabel)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 717, Short.MAX_VALUE)
|
||||
.addComponent(searchButton))
|
||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 843, Short.MAX_VALUE)
|
||||
);
|
||||
sessionsPanelLayout.setVerticalGroup(
|
||||
sessionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(sessionsPanelLayout.createSequentialGroup()
|
||||
.addGroup(sessionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(sessionsPanelLayout.createSequentialGroup()
|
||||
.addGap(12, 12, 12)
|
||||
.addComponent(sessionsLabel))
|
||||
.addComponent(searchButton))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 417, Short.MAX_VALUE)
|
||||
.addContainerGap())
|
||||
);
|
||||
jTabbedPane1.addTab(resourceMap.getString("jScrollPane3.TabConstraints.tabTitle"), jScrollPane3); // NOI18N
|
||||
|
||||
splitPane.setRightComponent(sessionsPanel);
|
||||
jScrollPane4.setName("jScrollPane4"); // NOI18N
|
||||
|
||||
servicesTable.setModel(new javax.swing.table.DefaultTableModel(
|
||||
new Object [][] {
|
||||
|
||||
},
|
||||
new String [] {
|
||||
"Host", "Created", "Updated", "Port", "Proto", "State", "Name", "Info"
|
||||
}
|
||||
) {
|
||||
Class[] types = new Class [] {
|
||||
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
|
||||
};
|
||||
|
||||
public Class getColumnClass(int columnIndex) {
|
||||
return types [columnIndex];
|
||||
}
|
||||
});
|
||||
servicesTable.setName("servicesTable"); // NOI18N
|
||||
jScrollPane4.setViewportView(servicesTable);
|
||||
|
||||
jTabbedPane1.addTab(resourceMap.getString("jScrollPane4.TabConstraints.tabTitle"), jScrollPane4); // NOI18N
|
||||
|
||||
jScrollPane5.setName("jScrollPane5"); // NOI18N
|
||||
|
||||
vulnsTable.setModel(new javax.swing.table.DefaultTableModel(
|
||||
new Object [][] {
|
||||
|
||||
},
|
||||
new String [] {
|
||||
"Port", "Proto", "Time", "Host", "Name", "Refs"
|
||||
}
|
||||
) {
|
||||
Class[] types = new Class [] {
|
||||
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
|
||||
};
|
||||
|
||||
public Class getColumnClass(int columnIndex) {
|
||||
return types [columnIndex];
|
||||
}
|
||||
});
|
||||
vulnsTable.setName("vulnsTable"); // NOI18N
|
||||
jScrollPane5.setViewportView(vulnsTable);
|
||||
|
||||
jTabbedPane1.addTab(resourceMap.getString("jScrollPane5.TabConstraints.tabTitle"), jScrollPane5); // NOI18N
|
||||
|
||||
jScrollPane6.setName("jScrollPane6"); // NOI18N
|
||||
|
||||
eventsTable.setModel(new javax.swing.table.DefaultTableModel(
|
||||
new Object [][] {
|
||||
|
||||
},
|
||||
new String [] {
|
||||
"Host", "Created", "Updated", "Name", "Critical", "Username", "Info"
|
||||
}
|
||||
) {
|
||||
Class[] types = new Class [] {
|
||||
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
|
||||
};
|
||||
|
||||
public Class getColumnClass(int columnIndex) {
|
||||
return types [columnIndex];
|
||||
}
|
||||
});
|
||||
eventsTable.setName("eventsTable"); // NOI18N
|
||||
jScrollPane6.setViewportView(eventsTable);
|
||||
|
||||
jTabbedPane1.addTab(resourceMap.getString("jScrollPane6.TabConstraints.tabTitle"), jScrollPane6); // NOI18N
|
||||
|
||||
javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
|
||||
mainPanel.setLayout(mainPanelLayout);
|
||||
mainPanelLayout.setHorizontalGroup(
|
||||
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(mainPanelLayout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(splitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 887, Short.MAX_VALUE)
|
||||
.addContainerGap())
|
||||
.addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 882, Short.MAX_VALUE)
|
||||
);
|
||||
mainPanelLayout.setVerticalGroup(
|
||||
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
|
||||
.addComponent(splitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 462, Short.MAX_VALUE)
|
||||
.addContainerGap())
|
||||
.addComponent(jTabbedPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 532, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
menuBar.setName("menuBar"); // NOI18N
|
||||
|
@ -564,6 +595,15 @@ public class MainFrame extends FrameView {
|
|||
jSeparator1.setName("jSeparator1"); // NOI18N
|
||||
fileMenu.add(jSeparator1);
|
||||
|
||||
searchItem.setText(resourceMap.getString("searchItem.text")); // NOI18N
|
||||
searchItem.setName("searchItem"); // NOI18N
|
||||
searchItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
searchItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
fileMenu.add(searchItem);
|
||||
|
||||
changeLFMenuItem.setMnemonic('L');
|
||||
changeLFMenuItem.setText(resourceMap.getString("changeLFMenuItem.text")); // NOI18N
|
||||
changeLFMenuItem.setName("changeLFMenuItem"); // NOI18N
|
||||
|
@ -698,6 +738,32 @@ public class MainFrame extends FrameView {
|
|||
|
||||
menuBar.add(consoleMenu);
|
||||
|
||||
databaseMenu.setMnemonic('D');
|
||||
databaseMenu.setText(resourceMap.getString("databaseMenu.text")); // NOI18N
|
||||
databaseMenu.setName("databaseMenu"); // NOI18N
|
||||
|
||||
connectItem.setMnemonic('C');
|
||||
connectItem.setText(resourceMap.getString("connectItem.text")); // NOI18N
|
||||
connectItem.setName("connectItem"); // NOI18N
|
||||
connectItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
connectItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
databaseMenu.add(connectItem);
|
||||
|
||||
refreshItem.setMnemonic('R');
|
||||
refreshItem.setText(resourceMap.getString("refreshItem.text")); // NOI18N
|
||||
refreshItem.setName("refreshItem"); // NOI18N
|
||||
refreshItem.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
refreshItemActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
databaseMenu.add(refreshItem);
|
||||
|
||||
menuBar.add(databaseMenu);
|
||||
|
||||
helpMenu.setMnemonic('H');
|
||||
helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
|
||||
helpMenu.setName("helpMenu"); // NOI18N
|
||||
|
@ -734,7 +800,7 @@ public class MainFrame extends FrameView {
|
|||
.addGroup(statusPanelLayout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(statusMessageLabel)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 725, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 698, Short.MAX_VALUE)
|
||||
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(statusAnimationLabel)
|
||||
|
@ -748,7 +814,7 @@ public class MainFrame extends FrameView {
|
|||
.addComponent(statusMessageLabel)
|
||||
.addComponent(statusAnimationLabel)
|
||||
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(3, 3, 3))
|
||||
.addGap(12, 12, 12))
|
||||
);
|
||||
|
||||
setComponent(mainPanel);
|
||||
|
@ -821,18 +887,91 @@ public class MainFrame extends FrameView {
|
|||
new EditorWindow(MsfguiLog.defaultLog.getHashes()).setVisible(true);
|
||||
}//GEN-LAST:event_collectedCredsMenuItemActionPerformed
|
||||
|
||||
private void searchButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_searchButtonActionPerformed
|
||||
searchWin.setVisible(true);
|
||||
}//GEN-LAST:event_searchButtonActionPerformed
|
||||
|
||||
private void newConsoleItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newConsoleItemActionPerformed
|
||||
try{
|
||||
Map res = (Map)rpcConn.execute("console.create");
|
||||
registerConsole(res, true);
|
||||
registerConsole(res, true, "");
|
||||
}catch(MsfException mex){
|
||||
JOptionPane.showMessageDialog(getFrame(), mex);
|
||||
}
|
||||
}//GEN-LAST:event_newConsoleItemActionPerformed
|
||||
}//GEN-LAST:event_newConsoleItemActionPerformed
|
||||
|
||||
private void searchItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_searchItemActionPerformed
|
||||
searchWin.setVisible(true);
|
||||
}//GEN-LAST:event_searchItemActionPerformed
|
||||
|
||||
private void connectItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_connectItemActionPerformed
|
||||
String answer = JOptionPane.showInputDialog(getFrame(), "Enter Connection String", "Connection String", JOptionPane.QUESTION_MESSAGE);
|
||||
if(answer == null)
|
||||
return;
|
||||
try{
|
||||
Map session = (Map)rpcConn.execute("console.create");
|
||||
registerConsole(session, true, "db_connect "+answer);
|
||||
}catch(MsfException mex){
|
||||
JOptionPane.showMessageDialog(getFrame(), mex);
|
||||
}
|
||||
}//GEN-LAST:event_connectItemActionPerformed
|
||||
|
||||
private void refreshItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_refreshItemActionPerformed
|
||||
//Hosts
|
||||
try{
|
||||
DefaultTableModel mod = (DefaultTableModel)hostsTable.getModel();
|
||||
while(mod.getRowCount() > 0)
|
||||
mod.removeRow(0);
|
||||
Object[] hosts = (Object[])((Map)rpcConn.execute("db.hosts",new Object[]{new HashMap()})).get("hosts");
|
||||
for (Object hostO : hosts){
|
||||
Map host = (Map)hostO;
|
||||
mod.addRow(new Object[]{host.get("created_at"),host.get("address"),host.get("address6"),
|
||||
host.get("mac"),host.get("name"),host.get("state"),host.get("os_name"),host.get("os_flavor"),
|
||||
host.get("os_sp"),host.get("os_lang"),host.get("updated_at"),host.get("purpose"),host.get("info")});
|
||||
}
|
||||
TableHelper.fitColumnWidths(mod,hostsTable);
|
||||
}catch(MsfException mex){
|
||||
}
|
||||
//Services
|
||||
try{
|
||||
DefaultTableModel mod = (DefaultTableModel)servicesTable.getModel();
|
||||
while(mod.getRowCount() > 0)
|
||||
mod.removeRow(0);
|
||||
Object[] services = (Object[])((Map)rpcConn.execute("db.services",new Object[]{new HashMap()})).get("services");
|
||||
for (Object serviceO : services){
|
||||
Map service = (Map)serviceO;
|
||||
mod.addRow(new Object[]{service.get("host"),service.get("created_at"),service.get("updated_at"),
|
||||
service.get("port"),service.get("proto"),service.get("state"),service.get("name"),service.get("info")});
|
||||
}
|
||||
TableHelper.fitColumnWidths(mod,servicesTable);
|
||||
}catch(MsfException mex){
|
||||
}
|
||||
//Vulns
|
||||
try{
|
||||
DefaultTableModel mod = (DefaultTableModel)vulnsTable.getModel();
|
||||
while(mod.getRowCount() > 0)
|
||||
mod.removeRow(0);
|
||||
Object[] vulns = (Object[])((Map)rpcConn.execute("db.vulns",new Object[]{new HashMap()})).get("vulns");
|
||||
for (Object vulnO : vulns){
|
||||
Map vuln = (Map)vulnO;
|
||||
mod.addRow(new Object[]{vuln.get("port"),vuln.get("proto"),vuln.get("time"),
|
||||
vuln.get("host"),vuln.get("name"),vuln.get("refs")});
|
||||
}
|
||||
TableHelper.fitColumnWidths(mod,vulnsTable);
|
||||
}catch(MsfException mex){
|
||||
}
|
||||
//Events
|
||||
try{
|
||||
DefaultTableModel mod = (DefaultTableModel)eventsTable.getModel();
|
||||
while(mod.getRowCount() > 0)
|
||||
mod.removeRow(0);
|
||||
Object wspace = ((Map)rpcConn.execute("db.current_workspace")).get("workspace");
|
||||
Object[] events = (Object[])((Map)rpcConn.execute("db.events",new Object[]{wspace})).get("events");
|
||||
for (Object eventO : events){
|
||||
Map event = (Map)eventO;
|
||||
mod.addRow(new Object[]{event.get("host"),event.get("created_at"),event.get("updated_at"),
|
||||
event.get("name"),event.get("critical"),event.get("username"),event.get("info")});
|
||||
}
|
||||
TableHelper.fitColumnWidths(mod,eventsTable);
|
||||
}catch(MsfException mex){
|
||||
}
|
||||
}//GEN-LAST:event_refreshItemActionPerformed
|
||||
|
||||
/** Runs command on all current meterpreter sessions in new thread; posting updates for each thread */
|
||||
private void runOnAllMeterpreters(String cmd, String output, JLabel outputLabel) {
|
||||
|
@ -1073,18 +1212,25 @@ public class MainFrame extends FrameView {
|
|||
private javax.swing.JMenuItem clearHistoryItem;
|
||||
private javax.swing.JMenu closeConsoleMenu;
|
||||
private javax.swing.JMenuItem collectedCredsMenuItem;
|
||||
private javax.swing.JMenuItem connectItem;
|
||||
private javax.swing.JMenuItem connectRpcMenuItem;
|
||||
private javax.swing.JMenu consoleMenu;
|
||||
private javax.swing.JMenu databaseMenu;
|
||||
private javax.swing.JTable eventsTable;
|
||||
private javax.swing.JMenu existingConsoleMenu;
|
||||
private javax.swing.JMenu exploitsMenu;
|
||||
private javax.swing.JMenu helpMenu;
|
||||
private javax.swing.JMenu historyMenu;
|
||||
private javax.swing.JTable hostsTable;
|
||||
private javax.swing.JScrollPane jScrollPane1;
|
||||
private javax.swing.JScrollPane jScrollPane2;
|
||||
private javax.swing.JScrollPane jScrollPane3;
|
||||
private javax.swing.JScrollPane jScrollPane4;
|
||||
private javax.swing.JScrollPane jScrollPane5;
|
||||
private javax.swing.JScrollPane jScrollPane6;
|
||||
private javax.swing.JPopupMenu.Separator jSeparator1;
|
||||
private javax.swing.JLabel jobsLabel;
|
||||
private javax.swing.JTabbedPane jTabbedPane1;
|
||||
private javax.swing.JList jobsList;
|
||||
private javax.swing.JPanel jobsPanel;
|
||||
private javax.swing.JMenuItem killSessionsMenuItem;
|
||||
private javax.swing.JMenuItem logGenerateMenuItem;
|
||||
private javax.swing.JPanel mainPanel;
|
||||
|
@ -1097,15 +1243,15 @@ public class MainFrame extends FrameView {
|
|||
private javax.swing.JMenu postMenu;
|
||||
private javax.swing.JProgressBar progressBar;
|
||||
public javax.swing.JMenu recentMenu;
|
||||
private javax.swing.JButton searchButton;
|
||||
private javax.swing.JLabel sessionsLabel;
|
||||
private javax.swing.JPanel sessionsPanel;
|
||||
private javax.swing.JMenuItem refreshItem;
|
||||
private javax.swing.JMenuItem searchItem;
|
||||
private javax.swing.JTable servicesTable;
|
||||
private javax.swing.JTable sessionsTable;
|
||||
private javax.swing.JSplitPane splitPane;
|
||||
private javax.swing.JMenuItem startRpcMenuItem;
|
||||
private javax.swing.JLabel statusAnimationLabel;
|
||||
private javax.swing.JLabel statusMessageLabel;
|
||||
private javax.swing.JPanel statusPanel;
|
||||
private javax.swing.JTable vulnsTable;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
private final Timer messageTimer;
|
||||
private final Timer busyIconTimer;
|
||||
|
|
|
@ -29,8 +29,6 @@ StatusBar.busyIcons[11] = busyicons/busy-icon11.png
|
|||
StatusBar.busyIcons[12] = busyicons/busy-icon12.png
|
||||
StatusBar.busyIcons[13] = busyicons/busy-icon13.png
|
||||
StatusBar.busyIcons[14] = busyicons/busy-icon14.png
|
||||
sessionsLabel.text=Sessions
|
||||
jobsLabel.text=Jobs
|
||||
exploitsMenu.text=Exploits
|
||||
auxiliaryMenu.text=Auxiliary
|
||||
startRpcMenuItem.text=Start new msfrpcd
|
||||
|
@ -49,8 +47,17 @@ historyMenu.text=History
|
|||
killSessionsMenuItem.text=Kill all sessions
|
||||
changeLFMenuItem.text=Change Look and Feel
|
||||
collectedCredsMenuItem.text=Show collected hashes
|
||||
searchButton.text=Search
|
||||
consoleMenu.text=Console
|
||||
newConsoleItem.text=New
|
||||
existingConsoleMenu.text=Open Existing
|
||||
databaseMenu.text=Database
|
||||
connectItem.text=Connect
|
||||
refreshItem.text=Refresh
|
||||
jScrollPane6.TabConstraints.tabTitle=Events
|
||||
jScrollPane5.TabConstraints.tabTitle=Vulns
|
||||
jScrollPane4.TabConstraints.tabTitle=Services
|
||||
jScrollPane3.TabConstraints.tabTitle=Hosts
|
||||
jScrollPane1.TabConstraints.tabTitle=Jobs
|
||||
jScrollPane2.TabConstraints.tabTitle=Sessions
|
||||
searchItem.text=Search
|
||||
closeConsoleMenu.text=Close Existing
|
||||
existingConsoleMenu.text=Open Existing
|
||||
newConsoleItem.text=New
|
||||
consoleMenu.text=Console
|
||||
|
|
Loading…
Reference in New Issue