Пример #1
0
        public void TelnetPasswordParser_ParseTelnetCharModePassword_ParseSuccess()
        {
            // Arrange
            var telnetParser = new PcapAnalyzer.TelnetPasswordParser();
            var session      = new PcapAnalyzer.TcpSession();

            var expected = new PcapAnalyzer.NetworkPassword()
            {
                Username    = "******",
                Password    = "******",
                Destination = "2.2.2.2",
                Source      = "1.1.1.1",
                Protocol    = "Telnet"
            };

            // Mock a session where the user is "us" and the password is "Secret123".
            session.Data = Encoding.ASCII.GetBytes("login:uuss" + Environment.NewLine + "Password:Secret123");
            session.Packets.Add(mockPacket("2.2.2.2", "1.1.1.1", 21, 5472, "login:"******"1.1.1.1", "2.2.2.2", 5472, 21, "u"));
            session.Packets.Add(mockPacket("2.2.2.2", "1.1.1.1", 21, 5472, "u"));
            session.Packets.Add(mockPacket("1.1.1.1", "2.2.2.2", 5472, 21, "s"));
            session.Packets.Add(mockPacket("2.2.2.2", "1.1.1.1", 21, 5472, "s"));
            session.Packets.Add(mockPacket("2.2.2.2", "1.1.1.1", 21, 5472, "Password:"******"1.1.1.1", "2.2.2.2", 5472, 21, "Secret123"));
            session.Packets.Add(mockPacket("2.2.2.2", "1.1.1.1", 21, 5472, "some dummy data"));

            // Act.
            PcapAnalyzer.NetworkPassword password = (telnetParser.Parse(session) as PcapAnalyzer.NetworkPassword);

            // Assert.
            Assert.AreEqual(expected, password);
        }
Пример #2
0
        public void HandlePassword(PcapAnalyzer.NetworkPassword password)
        {
            var edgeText = $"{password.Protocol} Password";

            AddEdge(password.Username, password.Destination, edgeText);
            _graph.FindNode(password.Username).Attr.FillColor = Microsoft.Msagl.Drawing.Color.LightGreen;
        }
Пример #3
0
        public void FtpPasswordParser_ParseFtpPassword_ParseSuccess()
        {
            // Arrange.
            var ftpParsrer = new PcapAnalyzer.FtpPasswordParser();
            var session    = new PcapAnalyzer.TcpSession();

            session.SourceIp      = "1.1.1.1";
            session.DestinationIp = "2.2.2.2";
            session.Data          = Encoding.UTF8.GetBytes(
                @"220 Chris Sanders FTP Server
USER csanders
331 Password required for csanders.
PASS echo
230 User csanders logged in.");

            // Act.
            PcapAnalyzer.NetworkPassword passsword = (ftpParsrer.Parse(session) as PcapAnalyzer.NetworkPassword);

            // Assert.
            Assert.AreEqual("csanders", passsword.Username);
            Assert.AreEqual("echo", passsword.Password);
        }
Пример #4
0
        public void HttpBasicPasswordParser_ParseFtpPassword_ParseSuccess()
        {
            // Arrange.
            var parsrer = new PcapAnalyzer.HttpBasicPasswordParser();
            var packet  = new PcapAnalyzer.TcpPacket();

            packet.SourceIp      = "1.1.1.1";
            packet.DestinationIp = "2.2.2.2";
            packet.Data          = Encoding.UTF8.GetBytes(
                @"GET /password-ok.php HTTP/1.1
Host: browserspy.dk
Connection: keep-alive
Cache-Control: max-age=0
Authorization: Basic dGVzdDpmYWlsMw==
Accept: text/html,application/xhtml+xml");

            // Act.
            PcapAnalyzer.NetworkPassword password = (parsrer.Parse(packet) as PcapAnalyzer.NetworkPassword);

            // Assert.
            Assert.AreEqual("test", password.Username);
            Assert.AreEqual("fail3", password.Password);
        }