Exemple #1
0
        private void MenuItemInteract_Click(object sender, RoutedEventArgs e)
        {
            bool           TabItemisExsits = false;
            TabItem        tabItemSelected = new TabItem();
            TargetListView listViewItem    = (TargetListView)this.BodySessionListView.SelectedItems[0];

            foreach (TabItem tabItem in BodyControlPanel.Items)
            {
                if (tabItem.Name == ("BeaconTabItem_" + listViewItem.uid))
                {
                    TabItemisExsits = true;
                    tabItemSelected = tabItem;
                }
            }
            if (listViewItem != null && TabItemisExsits == false)
            {
                TabItem BeaconTabItem = new TabItem()
                {
                };
                //header
                StackPanel BeaconHeaderStackPanel = new StackPanel()
                {
                };
                BeaconHeaderStackPanel.Orientation = Orientation.Horizontal;
                PackIcon packIcon = new PackIcon()
                {
                    Foreground        = (Brush) new BrushConverter().ConvertFromString("#FFD4D7D6"),
                    Kind              = PackIconKind.FormatAlignLeft,
                    Height            = 11,
                    Width             = 11,
                    VerticalAlignment = VerticalAlignment.Center,
                    Margin            = new Thickness(0, 0, 5, 0),
                };
                TextBlock textBlock = new TextBlock()
                {
                    Text = "Beacon(" + listViewItem.InternalIP + "#" + listViewItem.Pid + ")"
                };
                BeaconHeaderStackPanel.Children.Add(packIcon);
                BeaconHeaderStackPanel.Children.Add(textBlock);

                //content
                Grid          grid     = new Grid();
                RowDefinition rowGrid1 = new RowDefinition
                {
                    Height = new GridLength(1, GridUnitType.Star)
                };
                RowDefinition rowGrid2 = new RowDefinition
                {
                    Height = new GridLength(25)
                };
                grid.RowDefinitions.Add(rowGrid1);
                grid.RowDefinitions.Add(rowGrid2);

                Grid   grid1  = new Grid();
                Border border = new Border()
                {
                    BorderThickness = new Thickness(0, 0, 0, 1),
                    BorderBrush     = (Brush) new BrushConverter().ConvertFromString("#FF897979")
                };
                grid1.Children.Add(border);

                ScrollViewer stackPanelScrollViewer = new ScrollViewer();
                stackPanelScrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;

                StackPanel stackPanel = new StackPanel()
                {
                    Orientation         = Orientation.Vertical,
                    Margin              = new Thickness(6, 5, 6, 0),
                    Name                = "StackPanel_" + listViewItem.uid,
                    HorizontalAlignment = HorizontalAlignment.Left,
                    VerticalAlignment   = VerticalAlignment.Top
                };
                stackPanelScrollViewer.Content = stackPanel;
                grid1.Children.Add(stackPanelScrollViewer);
                Grid.SetRow(grid1, 0);

                StackPanel stackPanel1 = new StackPanel()
                {
                    Orientation = Orientation.Horizontal
                };
                Grid.SetRow(stackPanel1, 1);
                PackIcon packIcon1 = new PackIcon()
                {
                    Kind   = PackIconKind.KeyboardArrowRight,
                    Height = 25,
                    Width  = 20
                };
                stackPanel1.Children.Add(packIcon1);

                TextBox textBox = new TextBox()
                {
                    Name  = "BeaconTextBox_" + listViewItem.uid,
                    Width = this.ActualWidth - 20,
                    HorizontalAlignment = HorizontalAlignment.Left,
                    VerticalAlignment   = VerticalAlignment.Center
                };
                textBox.KeyDown += new KeyEventHandler(BeaconTextBox_KeyDown);
                stackPanel1.Children.Add(textBox);

                grid.Children.Add(grid1);
                grid.Children.Add(stackPanel1);

                //add
                BeaconTabItem.Header  = BeaconHeaderStackPanel;
                BeaconTabItem.Content = grid;
                BeaconTabItem.Name    = "BeaconTabItem_" + listViewItem.uid;

                BodyControlPanel.Items.Add(BeaconTabItem);
                BodyControlPanel.SelectedItem = BeaconTabItem;
                string textBoxName = "BeaconTextBox_" + listViewItem.uid;
                if (this.sslTcpClients == null || !this.sslTcpClients.ContainsKey(textBoxName))
                {
                    SslTcpClient sslTcpClient = new SslTcpClient(this.userProfile.host, int.Parse(this.userProfile.port), "localhost");
                    sslTcpClient.StartSslTcp();
                    this.sslTcpClients.Add(textBoxName, sslTcpClient);
                }
            }
            else
            {
                BodyControlPanel.SelectedItem = tabItemSelected;
            }
        }
Exemple #2
0
            //public ListView BodySessionListView;


            public void GetImplantResult()
            {
                DataFormat MessageData;

                MessageData.type  = "1";
                MessageData.token = userProfile.token;
                MessageData.data  = null;
                string sendMessage = JsonConvert.SerializeObject(MessageData);
                bool   isGo        = true;

                Thread.CurrentThread.IsBackground = true;
                SslTcpClient sslTcpClient = userProfile.sslTcpClient;

                do
                {
                    SslStream sslStream = sslTcpClient.SendMessage(sendMessage);
                    sslTcpClient.ReadMessage(sslStream);
                    JObject rMJson = (JObject)JsonConvert.DeserializeObject(sslTcpClient.resultMessage);
                    if (rMJson["code"].ToString() == "200")
                    {
                        foreach (var item in rMJson["result"])
                        {
                            TimeSpan ts      = DateTime.Now - Function.GetDateTime(item["time"].ToString());
                            string   invalTs = ts.Seconds.ToString() + "s";

                            if (ts.Minutes != 0)
                            {
                                invalTs = ts.Minutes.ToString() + "m " + invalTs;
                                if (ts.Hours != 0)
                                {
                                    invalTs = ts.Hours.ToString() + "h " + invalTs;
                                    if (ts.Days != 0)
                                    {
                                        invalTs = ts.Days.ToString() + "d " + invalTs;
                                    }
                                }
                            }

                            TargetListView tLV = new TargetListView(
                                item["country"].ToString(),
                                item["ip"].ToString(),
                                item["innerip"].ToString(),
                                item["pid"].ToString(),
                                item["user"].ToString(),
                                item["osinfo"].ToString(),
                                item["cpuinfo"].ToString(),
                                invalTs
                                )
                            {
                                uid  = item["uid"].ToString(),
                                time = item["time"].ToString()
                            };
                            //Console.WriteLine(Function.GetDateTime(item["time"].ToString()).ToString());
                            bool isE = false;
                            foreach (TargetListView tlv in targetListViews)
                            {
                                if (tlv.uid == tLV.uid)
                                {
                                    if (tlv.Country != tLV.Country)
                                    {
                                        targetListViews.ElementAt(targetListViews.IndexOf(tlv)).Country = tLV.Country;
                                    }

                                    if (tlv.ExternalIP != tLV.ExternalIP)
                                    {
                                        targetListViews.ElementAt(targetListViews.IndexOf(tlv)).ExternalIP = tLV.ExternalIP;
                                    }
                                    if (tlv.InternalIP != tLV.InternalIP)
                                    {
                                        targetListViews.ElementAt(targetListViews.IndexOf(tlv)).InternalIP = tLV.InternalIP;
                                    }
                                    if (tlv.Pid != tLV.Pid)
                                    {
                                        targetListViews.ElementAt(targetListViews.IndexOf(tlv)).Pid = tLV.Pid;
                                    }
                                    if (tlv.User != tLV.User)
                                    {
                                        targetListViews.ElementAt(targetListViews.IndexOf(tlv)).User = tLV.User;
                                    }
                                    if (tlv.Computer != tLV.Computer)
                                    {
                                        targetListViews.ElementAt(targetListViews.IndexOf(tlv)).Computer = tLV.Computer;
                                    }
                                    if (tlv.Arch != tLV.Arch)
                                    {
                                        targetListViews.ElementAt(targetListViews.IndexOf(tlv)).Arch = tLV.Arch;
                                    }
                                    //if (tlv.time != tLV.time)
                                    //{
                                    targetListViews.ElementAt(targetListViews.IndexOf(tlv)).Last = tLV.Last;
                                    //}
                                    isE = true;
                                }
                            }
                            if (isE == false || targetListViews.Count == 0)
                            {
                                targetListViews.Add(tLV);
                                string events = "[" + tLV.Country + "] " + Function.GetDateTime(tLV.time).ToString() + "  " + tLV.InternalIP + "(" + tLV.computer.Trim() + ")  Online";
                                if (eventsContent.Content == "")
                                {
                                    eventsContent.Content = events + "\n";
                                }
                                else
                                {
                                    eventsContent.Content = eventsContent.Content + events + "\n";
                                }
                                //this.BodySessionListView.Dispatcher.Invoke(new Action(() => { this.BodySessionListView.Items.Clear(); this.BodySessionListView.ItemsSource = this.targetListViews; }));
                            }
                        }
                        //Thread.Sleep(1000);
                    }
                } while (isGo);
            }