From 77aa35c53fe24fe4bfd2e0fcb6f80cbd9317861f Mon Sep 17 00:00:00 2001 From: Matt Weeks Date: Sun, 29 Aug 2010 02:50:03 +0000 Subject: [PATCH] Allow viewing connection details. git-svn-id: file:///home/svn/framework3/trunk@10182 4d416f70-5f16-0410-b530-b9f4589650da --- data/gui/msfgui.jar | Bin 649721 -> 651470 bytes .../gui/msfguijava/src/msfgui/MainFrame.form | 10 ++++++++++ .../gui/msfguijava/src/msfgui/MainFrame.java | 16 ++++++++++++++++ .../msfguijava/src/msfgui/RpcConnection.java | 17 +++++++++++++++-- .../src/msfgui/resources/MainFrame.properties | 1 + 5 files changed, 42 insertions(+), 2 deletions(-) diff --git a/data/gui/msfgui.jar b/data/gui/msfgui.jar index 21914e857f50a4ede84c5b023d124e74cd5a0760..45e84344729cc98a91d104f897691447d6715dfb 100755 GIT binary patch delta 37277 zcmbS!2VfON^Z3s0?d|4rNnY{@5PB~u^k$?tZMivyE?BDUf1wh;MX>6*ar&_Q#kVIR1tq|L#ZZnf9$zswP0+u$X@bW@eS%k zX(3CoSYA52`l;?vA$!KD_L}I1o?ji_u=i9^A?xDPdf7kz)E#chZhXdj`cCC8M>afu z2J^PZrya7_p6d=>qfciwjek3P-L*0sCY~S2VQhBo>&@kOrup63@U)lzOiJfNF2(#` zkYc7w5kiVtQHq_1ua0slmR>=Mc`n5xNbzWt;>&M-&msz^?AjQ$VasoQIb^$J3y|#D zDA}qGGn;Q%cP+$WvHSETe7Yq1^z$BbD!NSGBqnFCBa;tYvYkk_D@s>tj@8egIIo-(A9MNcd-zaOka1{OU1V6eMPrb4yuhE^Veo zT$E@_M(0)@x5dP5Q&Hkp(W9)4lvSdXZ0(xwJa)TMh+T$DWYk0==jdtC!L8)89alaT z!AfGYHuRX>gwHdhOt$PE`HjcqN?BrZi$~NFiCRU89{A|7#vV~zMI!3%5%ol(UQwd9 zHP6g+iJskva;H@xx%+v9{gH405mE;fs}ApJSGIN?ep-*6RXTFLHr&Nws7E{;iAO}a zeyp$Mx->=W6U}&!W&+YojMD7994YS7WHch0=^o7tq?s9|Sum}_aF?dl%|tWTqj?Z% z9*WXDv$%3um*)1SMDw^u^CZ$d6{VR{$!SY8&bgcz9hrU$)$%!ya1jzdA0@nL*UnpA z!g;MA(FxRn9B17s-pCo>0z%I01x5qs$W2feJ7rcf+zYRHEZ#sCE2Au~KQ(%jGrAR& zaqbJpD5p$2h;bIRg0CE-Jp`SHTEiLVe0!J)jUpFrg@yoOr+Ql$6|;#|Ha4@m##_$f zw$L+uAyDIgM&!! zK9CH&UaiQ_x4|1A>(v65;*1N(6sKu7s2cgUFB}D4zm~JLA8d3QpTmBA;0|aBpF3Mi znPr?G?tscMUogY?lEoTdIm!Luf#h!x{gxFozGG#L!>kF0EsZ12n*Q*4#`jDa$Cx&b zGut?UBqv#M;|Es3IEC%|BkN$CX15zZu}Q{RHsAQ!Sw8@Jx^idDD_yk$&I=W2UMS`q zj>KrEH70q|3y$0;O5x zODAD0YWa}~sFqE}!g1{NRS!ZJXH9FY((B{kA*dIrJsx%d6mzcL4I^XrL&M7beoTihYVdS@|Pz#`jlR6E0LMv5@{&!yM#Gbisg8N1hX`{LPI zs6&^hfekpUu>vh3t?q>>6hYy~Myk(*bdDA39fDPfnJiY`%o1c{7LZNYNZH&8&Vv5# zU|qDe#*`~KSg+7vE$-~!jIFx+0f>pLm<6rC*}8>~bbI%nIWQX8Ev*V|BN_K&sb<|; zsIi@*L&-~h`Ey|)jC0P+g+cOemL?}SJszy(@a{pCznO5W$(H_sba2j@YmzyTJ13_g@J z&~`r!uLcO2xEvrOf;>3^sdh1=rSZ!U|Vr`5$F$nG_ zFqgms1Rf;t5IudEz℞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ᰛAb*Lc;j-LPk{eXAtlz9Qik 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 delta 36297 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 p;nq*MfTDY_D%=$~rH4PsvMjK%hsX4H + + + + + + + + + + diff --git a/external/source/gui/msfguijava/src/msfgui/MainFrame.java b/external/source/gui/msfguijava/src/msfgui/MainFrame.java index 06c4cbaf04..2c8f698715 100644 --- a/external/source/gui/msfguijava/src/msfgui/MainFrame.java +++ b/external/source/gui/msfguijava/src/msfgui/MainFrame.java @@ -420,6 +420,7 @@ public class MainFrame extends FrameView { javax.swing.JMenu fileMenu = new javax.swing.JMenu(); connectRpcMenuItem = new javax.swing.JMenuItem(); startRpcMenuItem = new javax.swing.JMenuItem(); + showDetailsItem = new javax.swing.JMenuItem(); jSeparator1 = new javax.swing.JPopupMenu.Separator(); searchItem = new javax.swing.JMenuItem(); changeLFMenuItem = new javax.swing.JMenuItem(); @@ -630,6 +631,16 @@ public class MainFrame extends FrameView { startRpcMenuItem.setName("startRpcMenuItem"); // NOI18N fileMenu.add(startRpcMenuItem); + showDetailsItem.setMnemonic('d'); + showDetailsItem.setText(resourceMap.getString("showDetailsItem.text")); // NOI18N + showDetailsItem.setName("showDetailsItem"); // NOI18N + showDetailsItem.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + showDetailsItemActionPerformed(evt); + } + }); + fileMenu.add(showDetailsItem); + jSeparator1.setName("jSeparator1"); // NOI18N fileMenu.add(jSeparator1); @@ -1159,6 +1170,10 @@ public class MainFrame extends FrameView { } }//GEN-LAST:event_unloadPluginItemActionPerformed + private void showDetailsItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_showDetailsItemActionPerformed + JOptionPane.showMessageDialog(getFrame(), rpcConn.toString(), "Connection Details", JOptionPane.INFORMATION_MESSAGE); + }//GEN-LAST:event_showDetailsItemActionPerformed + /** 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); @@ -1440,6 +1455,7 @@ public class MainFrame extends FrameView { private javax.swing.JMenuItem searchItem; private javax.swing.JTable servicesTable; private javax.swing.JTable sessionsTable; + private javax.swing.JMenuItem showDetailsItem; private javax.swing.JMenuItem socketLoggerItem; private javax.swing.JMenuItem soundItem; private javax.swing.JMenuItem startRpcMenuItem; diff --git a/external/source/gui/msfguijava/src/msfgui/RpcConnection.java b/external/source/gui/msfguijava/src/msfgui/RpcConnection.java index 6f9f320832..39c64fe177 100644 --- a/external/source/gui/msfguijava/src/msfgui/RpcConnection.java +++ b/external/source/gui/msfguijava/src/msfgui/RpcConnection.java @@ -43,17 +43,22 @@ public class RpcConnection { private OutputStream sout; //socket output/input private InputStream sin; private final Object lockObject = new Object();//to synchronize one request at a time + private String username, password, host; + private int port; /** Constructor sets up a connection and authenticates. */ RpcConnection(String username, char[] password, String host, int port) throws MsfException { boolean haveRpcd=false; + this.username = username; + this.password = new String(password); + this.host = host; + this.port = port; String message = ""; try { connection = new Socket(host, port); sout = connection.getOutputStream(); sin = connection.getInputStream(); - Object[] params = new Object[]{username, new String(password)}; - Map results = exec("auth.login",params); + Map results = exec("auth.login",new Object[]{username, this.password}); rpcToken=results.get("token").toString(); haveRpcd=results.get("result").equals("success"); } catch (MsfException xre) { @@ -65,6 +70,14 @@ public class RpcConnection { if(!haveRpcd) throw new MsfException("Error connecting. "+message); } + + public String toString(){ + return "RPC connection " + + "\nusername: "+username + + "\npassword: " + password + + "\nhost: " + host + + "\nport: " + Integer.toString(port); + } /** Destructor cleans up. */ protected void finalize() throws Throwable{ super.finalize(); diff --git a/external/source/gui/msfguijava/src/msfgui/resources/MainFrame.properties b/external/source/gui/msfguijava/src/msfgui/resources/MainFrame.properties index 3c6f8c39c9..544a573c73 100644 --- a/external/source/gui/msfguijava/src/msfgui/resources/MainFrame.properties +++ b/external/source/gui/msfguijava/src/msfgui/resources/MainFrame.properties @@ -85,3 +85,4 @@ socketLoggerItem.text=Socket logger otherPluginItem.text=Other dbCredcollectItem.text=DB credcollect unloadPluginItem.text=Unload plugin +showDetailsItem.text=Show connection details