ChangeLog 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908
  1. NetworkMiner 2.8
  2. * NetworkHostTreeNode.cs: Nodes on the Hosts tab can now be filtered using string
  3. or regex matching!
  4. * TlsRecordPacket.cs: Fixed two bugs in JA3S signature, one when Server Hello has a
  5. Session ID length larger than zero and another when the server lists only one
  6. supported TLS version using the Supported Versions extension (#43).
  7. * IEC_104_PacketHandler.cs: Added support for file transfers over IEC-104.
  8. Added support for several additional IEC-104 commands.
  9. Better representation of IEC-104 commands on Parameters tab.
  10. Fixed bug when AsduInformationObjectCount is actually an element count.
  11. * FileStreamAssembly.cs: Added ability to differentiate between .EXE and .DLL
  12. * SocketSniffer.cs: Added exception handling of SocketException ErrorCode 10040
  13. (WSAEMSGSIZE)
  14. Thanks to René Perraux for reporting the issue with VMware's Large Send Offload!
  15. * HttpPacketHandler.cs: Added CobaltStrike and Meterpreter URI chemsum8 verifier
  16. to indicate possible CobaltStrike/Meterpreter URIs like "/aaa9" in Host Details.
  17. * PacketHandler.cs: Improved meterpreter DLL extraction from TCP where final payload
  18. is delivered in the same TCP segment as follow-on C2 comms
  19. * NetworkMinerForm.cs: Added code to flush all TCP sessions to Sessions tab when
  20. all capture files have been loaded in order to also show sessions whose L7 protocol
  21. is still unknown. Thanks to Matt Smith for highliting this issue.
  22. * NetworkMinerForm.cs: More accurate error message shown when user fails to capture
  23. packets using raw sockets on a disconnected network interface.
  24. Thanks to Anand Kumar Singh for notifying about this issue!
  25. * NetworkMinerForm.cs: All SocketAdapters now get refreshed when the interface
  26. drop-down list is expanded in order to show if they are currently connected or not.
  27. * TcpPacket.cs: Allow TCP sessions to the same server to switch application layer
  28. protocol between HTTP 1.x and HTTP/2.
  29. * NamedPipeReader.cs: Replaced "Read from PacketCache" with generic "Read from Named Pipe".
  30. * NetworkMinerForm.cs: Added support for copying text from selected rows by
  31. pressing Ctrl+C or right-click "Copy selected rows" in Files, Messages, Credentials,
  32. Sessions, DNS, Parameters and Keywords tabs. A maximum of 10 rows can be copied at
  33. a time using the free version of NetworkMiner.
  34. * CapwapPacket.cs: Added decapsulation support for the CAPWAP protocol.
  35. * DnsPacket.cs: Better handling of DNS packet containing multiple query records
  36. * SocksPacket.cs: Improved parsing of traffic inside SOCKS tunnels
  37. * FtpPacket.cs: Improved parsing speed of FTP traffic
  38. * MacCollection.cs: Added support for oui36.csv database to identify NIC vendors from MAC.
  39. * PacketReceivedEventArgs.cs: Ensured captured timestamps are always in UTC.
  40. NetworkMiner 2.7.3
  41. * TcpPortProtocolFinder.cs: Port 3000 and 8000 configured as be parsed as HTTP
  42. in order to support WEBrick traffic. Feature added thanks to RangeForce and
  43. @mttaggart.
  44. * NetworkHost.cs: Added lock to all code using ExtraDetailsList to avoid
  45. "collection modified" exceptions.
  46. * MeterpreterPacket.cs: Meterpreter payloads from common LPORT values for
  47. reverse_tcp like 4444 are now extracted to disk as DLL files.
  48. * LinuxCookedCapture2.cs: Added support for SLL2 / Linux cooked capture v2 frames.
  49. * TlsRecordPacket.cs: Fixed bug in JA3 Signature when client supports more than one
  50. EC point format.
  51. * TlsRecordPacketHandler.cs: Added botnet JA3 hashes from Abuse.ch
  52. * TlsRecordPacketHandler.cs: Added botnet SSL x509 cert hashes from Abuse.ch
  53. * DnsPacketHandler.cs: Extraction of DNSBL lookup info to Parameters tab and Host details
  54. * SmtpPacketHandler.cs: Improved extraction of SMTP credentials
  55. * TlsRecordPacket.cs: Faster parsing of TLS encrypted traffic
  56. * HttpPacketHandler.cs: Added support for HTTP CONNECT request method to parse proxied
  57. traffic.
  58. * NetworkMinerForm.cs: NetworkMiner's GUI no longer reloads between each PCAP file when
  59. multiple files are loaded at once.
  60. NetworkMiner 2.7.2
  61. * FtpPacket.cs: Added support for additional FTP commands, such as AUTH.
  62. * EtlParser.cs: NetworkMiner now supports reading of ETL files created with
  63. "netsh trace start" and "pktmon start --capture"! This feature is only
  64. available in Windows though, since we're relying on Windows specific API calls for
  65. parsing ETL files.
  66. * Erspan.cs: Added support for ERSPAN. Thanks to Markus Schewe for the feature request!
  67. * NetworkMinerForm.cs: Parameters tab now has a context menu entry for
  68. "Submit value to CyberChef", which sends the parameter value to
  69. https://gchq.github.io/CyberChef/
  70. NetworkMiner 2.7.1
  71. * PacketHandler.cs: Fixed bug related to live sniffing. Thanks to Jeff Rivett for
  72. reporting the issue!
  73. NetworkMiner 2.7
  74. * WinPCapWrapper.cs: Changed int pointers to 64 bit values in order to handle WinPcap
  75. and npcap drivers correctly.
  76. Thanks to Jeff Rivett for reporting the issue!
  77. * Smb2PacketHandler.cs: Added requested SMB2 filename info from SMB2 Create Requests
  78. and error messages from negative SMB2 responses to Parameters tab.
  79. * Smb2Packet.cs: Better extraction of SMB2 file transfers by extracting End-of-File
  80. values from Smb2CreateResponse.
  81. * LpdPacket.cs: Added support for Line Printer Daemon Protocol (RFC1179).
  82. Thanks to Hayo Brouwer (of Ricoh) for helping out with capture files!
  83. * NetworkTcpSession.cs: Modified TCP Keepalive handling to support protocols
  84. that transmit 1 byte TCP payloads containing a 0x00 byte (like LPD).
  85. * TcpPacket.cs: Changed GetSubPackets function to allow application layer packets
  86. with only one byte of L7 data to be returned.
  87. * SatoriTcpOsFingerprinter.cs: Improved performance by indexing fingerprints based
  88. on TCP flags.
  89. * HttpPacketHandler.cs: Generic extraction of files sent with HTTP POST, including
  90. WAP.MMS messages. More files are now extracted from HTTP POST uploads.
  91. * DnsPacket.cs: Added extraction of TXT records to DNS tab
  92. * DnsPacket.cs: Added extraction of SRV records to DNS tab
  93. * NetworkMinerForm.cs: Double-clicking on a file now opens up the file details window
  94. * ExtractedFileDetailsForm.cs: Added hex viewer to file details window
  95. * FileStreamAssembler.cs: The file extension is now identified based on the contents
  96. of the file's header (fewer "octet-stream" files, more ".exe" and ".zip" etc.)
  97. * NetworkMinerForm.cs: Added warning message when trying to open/run an executable
  98. file with right-click -> "Open file"
  99. * TlsRecordPacket.cs: Extraction of JA3S hashes from TLS Server Hello packets to
  100. Parameters tab and Host Details
  101. * PcapParser.cs: Added support for nanosecond PCAP files
  102. NetworkMiner 2.6
  103. * KerberosPacketHandler.cs: Better extraction of Salt from Kerberos ERROR packets.
  104. * NtlmSspPacketHandler.cs: Added John-the-Ripper formated extraction of LanMan, NTLMv1
  105. and NTLMv2 challenge/response hashes
  106. LanMan example: $LM$A9C604D244C4E99D
  107. NTLMv1 example: $NETNTLM$1122334455667788$B2B2220790F40C88BCFF347C652F67A7C4A70D3BEBD70233
  108. NTLMv2 example: $NETNTLMv2$NTLMV2TESTWORKGROUP$1122334455667788$07659A550D5E9D02996DFD95C87EC1D5$0101000000000000006CF6385B74CA01B3610B02D99732DD000000000200120057004F0052004B00470052004F00550050000100200044004100540041002E00420049004E0043002D0053004500430055005200490000000000
  109. - LM (hashcat "-m 3000")
  110. - NETNTLM (hashcat "-m 5500")
  111. - NETNTLMv2 (hashcat "-m 5600")
  112. * HttpPakcetHandler.cs: Improved extraction of json data sent in HTTP(2) POST requests.
  113. Now with support for Content-Encoding: gzip
  114. * Ethernet2Packet.cs: added support for Transparent Ethernet decapsulation for GRE tunnels
  115. * PcapParser.cs: Added support for Fritzbox captures (PCAP_MODIFIED_MAGIC = 0xa1b2cd34).
  116. Thanks to Jan Hesse for the feature request:
  117. https://twitter.com/clientjs/status/1255112064210743296
  118. * MultiPart.cs: Improved parsing of quotes in email headers.
  119. Thanks to Mandy van Oosterhout for reporting the bug!
  120. * ImapPacketHandler.cs: Ignoring FETCH results for partial emails (from BODY.PEEK) except
  121. when email headers are sent.
  122. * MessageEventArgs.cs: Increased max Subject length from 50 to 100 characters
  123. * FtpPacket.cs: Support for Extended Passive Mode (EPSV) in FTP
  124. * SystemHelper.cs: Added workaround for bug introduced with Mono 6 that would otherwise
  125. prevent opening files, folders and websites in external tools under Linux/OSX.
  126. https://github.com/mono/mono/issues/17204
  127. https://github.com/dotnet/runtime/issues/28005
  128. https://github.com/dotnet/runtime/issues/23877
  129. * PacketHandler.cs: ExtractMultipartFormData() was modified to save MIME multipart chunks
  130. to disk when the data is truncated in Parameters tab due to being too large (>250 bytes).
  131. * HttpPacketHandler.cs: The hostname is extracted from the HTTP header "Onion-Location"
  132. to show onion domains of hosts in the Hosts tab.
  133. * NetworkMinerForm.cs: The Messages tab filter now also performs keyword matching against
  134. attachment filenames.
  135. * SipPacketHandler.cs: SIP chat messages [RFC3428] are extracted to the "Messages" tab.
  136. Audio extraction of VoIP calls is still a feature that is exclusively available only
  137. in NetworkMiner Professional though.
  138. * HttpPacketHandler.cs and Http2PacketHandler.cs: The HTTP header "Accept-Language" and
  139. HTTP/2 header "accept-language" are extracted to the "Hosts" tab, under "Host Details".
  140. This supports forensic analysis of user language settings, as shown by Fox-IT here:
  141. https://resources.fox-it.com/rs/170-CAK-271/images/201912_Report_Operation_Wocao.pdf
  142. * HttpPacketHandler.cs: Improved extraction of Certificate Revocation List (CRL) files.
  143. * NetworkMinerForm.cs: Messages tab now uses the local environment's default newline
  144. characters to improve readability of reassembled emails.
  145. * ByteConverter.cs: Newline characters are now preserved when reading Quoted Printable
  146. encoded text with non-escaped newline characters.
  147. * MultipartPart.cs: Added RFC 822 "unfolding" to support multi-line header fields in
  148. emails, HTTP POSTs and other protocols using MIME encoded data.
  149. NetworkMiner 2.5
  150. * NetworkCredential.cs: Improved extraction of username/password credentials from
  151. HTTP POST requests.
  152. * Added regex filtering to keyword search function in most tabs as a more powerful
  153. alternative to plain string matching.
  154. * Upgraded from .NET 4.6.1 to .NET 4.7.2
  155. Requires Mono 5.4 (or later) in order to run in Linux or MacOS.
  156. You will otherwise get a System.TypeLoadException
  157. * Parsing of AAAA DNS records (IPv6 addresses)
  158. * Parsing of HTTP/2 when SSL/TLS isn't used (use PolarProxy to generate unencrypted HTTP/2)
  159. * Parsing of DNS-over-HTTPS (DoH) when SSL/TLS isn't used
  160. * DnsPacketHandler.cs: Support for DNS packets over TCP
  161. * Improved NetBIOS Name Service (nbns) parsing. Details are extracted to the
  162. "Parameters" tab. Thanks to @CRaiterCBus for the idea:
  163. https://twitter.com/CRaiterCBus/status/1143963147491037186
  164. * Name-value parameters from JSON formatted HTTP POST requests
  165. (Content-Type: application/json) are extracted to the "Parameters" tab and potential
  166. credentials are shown on the "Credentials" tab.
  167. * TlsRecordPacket.cs: Added JA3 support. Client JAR3 hashes are shown in the
  168. parameters tab an in Hosts Details.
  169. * SmbPacket.cs: Improved parsing of non-unicode "Native OS" strings from
  170. SetupAndXResponse messages.
  171. * KerberosPacketHandler.cs: Extraction of Kerberos hashes from network traffic.
  172. The hashes are shown on the "Credentials" tab in John/hashcat format. John-the-ripper
  173. users must use the "jumbo" version to avoid getting this error message:
  174. "No password hashes loaded (see FAQ)"
  175. Supported Kerberos message types include:
  176. - krb5pa (hashcat "-m 7500")
  177. - krb5tgs (hashcat "-m 13100")
  178. - krb5asrep (hashcat "-m 18200")
  179. * KeywordFilterControl.cs: Email body and header search is restored again after
  180. having been broken in version 2.4.
  181. * CifsBrowserPacket.cs: Added parser for CIFS Browser Protocol (aka MS-BRWS)
  182. in order to extract hostnames, windows versions and uptime. Thanks to @dan_gunter
  183. for the idea!
  184. * Email.cs: Fixed bug/crash due to invalid filename being specified in Content-Type
  185. MIME header. Thanks to @chrissistrunk for reporting the issue!
  186. * TcpPortProtocolFinder.cs: Added support for changes in application layer protocol
  187. within a TCP session. This enables STARTTLS commands in FTP, IMAP and SMTP to activate
  188. the SSL/TLS parser.
  189. * ImapPacketHandler.cs: Improved extraction of emails from "FETCH" commands for
  190. multiple emails and email header downloads with "UID FLAGS BODY[HEADER]".
  191. * MessageEventArgs.cs: Added size column to "Messages" tab
  192. NetworkMiner 2.4
  193. * Smb2PacketHandler.cs: Mixed up Source and Destination hosts for SMB reads and
  194. writes are corrected.
  195. * MacAges.cs: Added support to lookup the age of a MAC address thanks to HD Moore!
  196. https://twitter.com/hdmoore/status/1046563911972130819
  197. * NetBiosSessionService.cs: Added detection for EternalBlue exploit attempts where
  198. srvnet.sys is triggered to allocate a "large" nonpaged pool.
  199. Example PCAP files can be found here:
  200. https://www.malware-traffic-analysis.net/2018/10/04/index.html
  201. https://www.malware-traffic-analysis.net/2018/08/17/index.html
  202. https://packettotal.com/app/analysis?id=c8850b1fe07572c82c6fac5db5aae0c9&name=community_tags
  203. https://packettotal.com/app/analysis?id=8d2fdb7698c27e32e88bde809c89216f
  204. * SatoriTcpOsFingerprinter.cs: Added OS fingerprint signatures for Industrial control
  205. System (ICS) devices, like Siemens S7, ABB 800xA and Moxa. Some ICS vendors even got
  206. a logo as icon in the Hosts tab, others got a yellow hard hat.
  207. * KerberosPacket.cs: Implemented support for Kerberos v5 in order to extract usernames,
  208. hostnames and realms (domains) from unencrypted Kerberos requests/responses on port 88
  209. as well as inside HTTP auth headers and SMB security blobs.
  210. * TcpPortProtocolFinder.cs: Added TCP 11371 as a port for HTTP in order to extract
  211. GPG keys sent over the HKP protocol. Thanks to Jonas Lejon for the idea.
  212. * DnsRecordEventArgs.cs: Added support for parsing DNS queries/responses sent over IPv6
  213. * Email.cs: Added support for "Format=Flowed" attributes in emails (RFC 2646) and
  214. better handling of non-standard line feeds to make plaintext emails more readable.
  215. * MultipartPart.cs and Email.cs: Unicode MIME data is converted to ASCII, when running
  216. NetworkMiner using Mono (typically in Linux), in order to avoid a crash caused by
  217. Mono's GDIPlus implementation. Thanks to Phil Hagen for notifying us about the crash.
  218. * NetworkMinerForm.cs: Improved Drag-and-Drop operations to work more reliably
  219. also in Linux, when running NeworkMiner with Mono. Previous versions would throw
  220. a NullReferenceException in System.Windows.Forms.X11Dnd+TextConverter.SetData.
  221. * NetworkMinerForm.cs: Added links between hosts with the same MAC address in the
  222. network host tree view. This feature is useful to link a host's IPv6 and IPv4 IPs
  223. with eachother. Expand the MAC address node to see the links. Thanks to Chris Sistrunk
  224. for the initial idea!
  225. NetworkMiner 2.3.2
  226. * Email.cs: Emails without a body (but maybe an attachment) are now also extracted
  227. to the Messages tab.
  228. * NetworkMinerForm.cs: More debug output written when starting NetworkMiner with the
  229. --debug, --eventlog or --filelog argument.
  230. NetworkMiner 2.3.1
  231. * NetworkTcpSession.cs: Fixed ToString() NullReferenceException bug when expanding
  232. Incoming or Outgoing sessions in the Hosts tab. Thanks to tokyoneon for reporting
  233. this bug!
  234. * TlsRecordPacketHandler.cs: Added support for reading handshakes (typically X.509
  235. certificates) that are fragmented into multiple TLS records. Thanks to Peter Wu
  236. for reporting this bug!
  237. * NetworkMinerForm.cs: Setting a text size larger than 100% in Windows 7 previously
  238. yielded a bad layout of the GUI. This bug has been resolved in this version. Thanks
  239. to Chris Sistrunk for reporting it!
  240. NetworkMiner 2.3
  241. * NetworkMinerForm.cs: Added detected keywords count to the Keywords tab. Thanks
  242. to Mats Karlsson for the feature suggestion!
  243. * NetworkMinerForm.cS: NetworkMiner now prevents reloading of files in the current
  244. case while it is busy parsing a PCAP file. Thanks to Mats Karlsson for the feature
  245. suggestion!
  246. * NetworkMinerForm.cs: The keyword list has been resized to always fit the window
  247. and the [Del] key can be used to remove marked keywords. Thanks to Michael Nilsson
  248. for reporting this bug and suggesting the new feature.
  249. * NetworkMinerForm.cs: Added drag-and-drop ability to case files section, so that
  250. a PCAP file opened with NetworkMiner can be opened with another application or
  251. copied to a folder simply by dragging and dropping from the case panel.
  252. * FileSegmentAssembler.cs: Added ability to reassemble files when all data has been
  253. received, but the file handle isn't being closed. This applies in particular to SMB
  254. and SMB2 read and writes, such as these ones:
  255. https://401trg.pw/an-introduction-to-smb-for-network-security-analysts/
  256. * TlsPacketHandler.cs: Supported SSL/TLS versions and ALPN's are now extracted from
  257. the SSL handshake records and presented on the Parameters tab.
  258. * TlsRecordPacket.cs: Fixed bug regarding Session ID's in Client Hello messages.
  259. Thanks to Ahmad Nawawi for discovering this bug!
  260. * HttpPacket.cs: Added support for multiple Set-Cookie headers in HTTP a response.
  261. * SmtpPacketHandler.cs: Improved extraction of emails to Messages tab.
  262. * IEC_60870_5_104Packet.cs: Fixed year parsing bug in IEC-104 protocol. Years that
  263. can be represented now ranges from 2000 to 2099. Wireshark uses 1970 to 2069.
  264. Thanks to Sigurd Mytting for finding and reporting this bug!
  265. * ByteConverter.cs: Strings are no longer automatically terminated on null bytes
  266. unless they are explicitly defined as null terminated strings.
  267. * ModbusTcpPacket.cs: Added parser for Diagnostic option codes.
  268. * SipPacket.cs: Added extraction of call details (From, To and Call-ID) to the
  269. Parameters tab. The Pro version of NetworkMiner additionally extracts the audio.
  270. * SnmpPacket.cs: SNMP packets are parsed in order to extract the community string
  271. from SNMPv1 and SNMPv2c packets. The community strings are show on the Parameters
  272. and Credentials tabs. Thanks to Chris Sistrunk for suggesting this feature!
  273. * IPv4Packet: IPv4 packets with broken IP headers are now ignored by NetworkMiner.
  274. Thanks to Doug Green for discovering and reporting this bug!
  275. * GuiProperties.cs: Default timezone is now set to UTC rather than the local zone.
  276. NetworkMiner 2.2
  277. * Upgraded to .NET framework 4.0! Requires the newer .NET framework in Windows
  278. or Mono runtime 4.* in Linux/macOS.
  279. * GuiProperties.cs: All timestamps are shown in the "yyyy-MM-dd HH:mm:ss" format
  280. with time zone explicitly stated.
  281. * NetworkMinerForm.cs: Added Pokemon Exception Handling to all DoDragDrop calls.
  282. * NetworkMinerForm.cs: Fixed the count in the credential tab when checkboxes like
  283. "Mask password" are used. Thanks to Sebastian Gebhard for reporting thus bug at
  284. Troopers '17.
  285. * NetworkMinerForm.cs: Removed Invoke calls to GUI thread in order to speed up
  286. parsing when there are many GUI updates.
  287. * NetworkMinerForm.cs: Changed to using AddRange when updating GUI to display more
  288. items faster, especially in Linux.
  289. * SatoriTcpOsFingerprinter.cs: Improved TCP handshake OS fingerprint speed.
  290. * OpenFlowPacket.cs: Fixed alignment for frames encapsulated in OpenFlow 1.2/1.3
  291. PacketIn commands. Thanks to Jeff Carrell for providing a pcapng file that could be
  292. used to debug this issue.
  293. * SmbPacket.cs: Improved parsing of chained SimpleAndProtectedGssapiNegotiation
  294. (SPNEGO) tokens in SMB1 and SMB2, such as NTLM SSP usernames.
  295. * NtlmSspPacketHandler.cs: Domain name is now displayed in Credetials tab for SMB
  296. authentication attempts.
  297. * Logger.cs: Added optional debug logging with command line arguments:
  298. --debug Logs to standard out
  299. --eventlog Logs to Application EventLog
  300. --filelog Logs to text file in IsolatedStorage
  301. * TftpPacket.cs: Added frame length check to ReadNullTerminatedString.
  302. Thanks to Clint Page for reporting this bug and suggesting a fix!
  303. * KeywordFilterControl.cs: The search function in Messages tab now searches all
  304. email header fields as well as the email body for the keyword provided in the filter
  305. field. Thanks to Marc Lindke for suggesting this feature at Troopers '17!
  306. * KeywordFilterControl.cs: Drop-down list added so user can select a specific column
  307. to match on unless all columns should be searched (default).
  308. * ReceivePcapOverTcpForm.cs: Added functionality to receive PCAP-over-IP by connecting
  309. to a remote netcat listener. Thanks to Niclas Hirschfeld for suggsting this feature
  310. at Troopers '17!
  311. * UpdateCheck.cs: Added update check to see if there is a new version of NetworkMiner
  312. available for download. The update check can be disabled by adding a --noupdatecheck
  313. switch to the command line when starting NetworkMiner.
  314. NetworkMiner 2.1.2
  315. * PacketHandler.cs: Made OnCredentialDetected private to ensure that all credential
  316. detected calls are made to the AddCredential so that they can be filtered in the GUI.
  317. * FileStreamAssembler.cs: Partial downloads are saved in case they are downloaded
  318. using a range request, so that multiple individual parts can be put back together
  319. later on.
  320. * ExtractedFileDetailsForm.cs: Adjusted column width in file details window.
  321. NetworkMiner 2.1.1 2017-01-19
  322. * networkminericon.ico: Higher resolution icon (256x256).
  323. * HttpPacket.cs: Added UTF-8 decoding of filenames in Content-Disposition header in
  324. accordance with RFC 6266 and RFC 5987.
  325. * HttpPacket.cs: Added support for multiple whitespace characters separating HTTP
  326. header names from values.
  327. * FileStreamAssemblerList.cs: Added queueing of HTTP 1.1 requests when there are
  328. multiple requests sent before a reply is received.
  329. * PacketHandler.cs: Support for assembling of HTTP GET file streams not ending at
  330. a TCP packet boundary.
  331. * NetworkMinerForm.cs: Changed order of columns in Files tab.
  332. NetworkMiner 2.1 2017-01-02
  333. * Smb2Packet.cs: Added support for SMB2 Find searches with "NameInfo" format.
  334. Thanks to Dietrich Hasselhorn for finding this bug.
  335. * FileStreamAssembler.cs: Added fix to avoid long filenames (Windows only supports
  336. paths up to 248 characters) when the filename is derived from the Content-Disposition
  337. header sent by the web server. Thanks for Christian Reusch and Jasper Bongertz for
  338. finding and reporting this bug!
  339. * PacketHandler.cs: Extracted files are now timestomped so that the last write
  340. time of the file will be the timestamp in the PCAP when it was transfered. Thanks to
  341. Dietrich Hasselhorn for recommending this feature.
  342. * NetworkMinerForm.cs: No longer crashes if a non-existing PCAP file is provided as
  343. a command line argument.
  344. * PacketHandler.cs: Pop-up window is shown with warning if user does not have write
  345. permissions to the AssembledFiles directory (common problem if NetworkMiner is placed
  346. in the "C:\Program Files" directory).
  347. * NetworkMinerForm.cs: Support for reading packets from a local PacketCache service.
  348. For more information about PacketCache, please visit http://packetcache.com
  349. * NetworkMinerForm.cs: Files and images are no longer moved as a result of a drag-
  350. and-drop operation. Default action is always to copy the file to the target location.
  351. * NetworkMinerForm.cs: Images can be opened through double-clicking and the zoom
  352. level of images in the Images tab can be changed.
  353. * NetworkMinerForm.cs: Images can now be opened in their default viewer by double-
  354. clicking them.
  355. * VxlanPacket.cs: Added support for VXLAN decapsulation.
  356. * OpenFlowPacket.cs : Added support for OpenFlow decapsulation.
  357. * NetworkMinerForm.cs: HostDetails in Hosts tab now shows VLAN ID.
  358. * IcmpPacket.cs: Added simple ICMP parser
  359. * PartialFileAssembler.cs: Added support for HTTP "206 Partial Content" a.k.a
  360. "Range Requests" or "Byte Serving", so that partial downloads can be reassebled.
  361. * FileDetailsForm.cs: MD5 / SHA1 / SHA256 hashes can be calculated via the context
  362. menu in the "Files" tab (right-click an extracted file to get the menu).
  363. * SmbPacket.cs: A remake of the SMB handling in order to parse pipelined/chained
  364. AndX requests/responses. Thanks to Eddi Blenkers for highlighting their existance!
  365. * TlsRecordPacket.cs: Extraction of TLS host name extension, formally known as
  366. Server Name Indication (SNI) in RFC 6066.
  367. * TlsRecordPacketHandler.cs: Details from X.509 certificates are extracted to the
  368. Parameters tab, including certificate subject, issuer, hash and validity period.
  369. * SocksPacket.cs: Support for decapsulation of the SOCKS protocol. Can even be used
  370. to analyze Tor SOCKS proxy traffic to/from localhost TCP 9150.
  371. * Pop3Packet.cs: Added extraction of emails and attachments from unencrypted POP3
  372. traffic.
  373. * SmtpPacket.cs: Improved SMTP email extraction engine. Also added support for
  374. extraction of X.509 certificate when STARTTLS is used.
  375. * ImapPacket.cs: Implemented IMAP parser to extract credentials, emails and
  376. attachments from IMAP traffic. Also support for X.509 certificate extraction
  377. when STARTTLS is used.
  378. * FtpPacketHandler.cs: Support for X.509 certificate extraction when doing AUTH TLS,
  379. i.e. Explicit TLS or Explicit SSL.
  380. NetworkMiner 2.0 2016-02-09
  381. * HttpPacketHandler.cs: The ".octet-stream" or "x-msdos-program" extensions are no
  382. longer appended to ".exe" files downloaded over HTTP (warning for those doing live
  383. malware analysis on Windows machines).
  384. * NetworkMinerForm.cs: GUI flickering is heavily reduced when loading PCAP files
  385. or doing live sniffing. This also improves the performance slightly.
  386. * NetworkMinerForm.cs: SMTP attachments are now showed in the Messages tab.
  387. * NetworkTcpSession.cs: Improved ability to handle truncated TCP sessions where
  388. the initial part is missing and there are TCP Keep-Alive packets. Thanks to
  389. Shchemelev Dmitry for reporting this bug.
  390. * SmtpPacketHandler.cs: Added support for extracting multiple SMTP sessions from
  391. a single TCP session. This feature is important in order to extract emails sent
  392. through a SPAM-run. Thanks to Andrew Brant (@threatresearch) for reporting this
  393. bug.
  394. * SmtpPacketHandler.cs: Improved extraction of SMTP user names sent directly with
  395. AUTH command like: "AUTH LOGIN aGVqaG9wcEBpbnRlcm5ldC5zZQ==".
  396. * SmtpPacketHandler.cs: All emails are extracted in raw format (with SMTP headers
  397. intact) to an .eml file.
  398. * NetworkMinerForm.cs: Removed tabControl1_MouseDown handler to avoid unwanted
  399. drag-and-drop operations.
  400. * IEC-104_PacketHandler.cs: Added ASDU Type ID 36 to IEC 60870-5-104 handler.
  401. * NetworkMinerAboutBox.cs: Added EULA text to about box.
  402. * PacketHandler.cs: Added OS fingerprinting of Android
  403. * PacketHandler.cs: Separated "Apple iOS" fingerprints from "Mac OS"
  404. * FtpPacket.cs: Added "OPTS" as a supported FTP command and proper parsing of
  405. multi-line replies.
  406. * NetworkMinerForm.cs: Added all-words.txt as default wordlist for Cleartext
  407. tab.
  408. * NetworkMinerForm.cs: Added extraction of favicon images from HTTP.
  409. * NetworkMinerForm.cs: Added alternative encodings for displaying messages in
  410. NetworkMiner's "Messages" tab.
  411. * KeywordFilterControl.cs: Added "Keyword filter" to the following tabs:
  412. - Files
  413. - Parameters
  414. - DNS
  415. - Messages
  416. - Sessions
  417. The keyword filter allows rows to be filtered based on a keyword. The entered
  418. keyword is matched against all text in all columns of the tab. This new feature
  419. has been requested by many users in the past, so it's great to finally have it
  420. implemented!
  421. * HttpPacketHandler.cs: Previously assembled data sent in an HTTP session is
  422. now flushed out to disk when a new file assembler is created for Multipart MIME
  423. HTTP POSTs. Thanks to Shchemelev Dmitry for finding this bug.
  424. * PacketParser.Mime.UnbufferedReader.cs: Default encoding is now assumed to be
  425. UTF8 when parsing binary data as strings. This is useful for example when
  426. files sent with HTTP POST have unicode file names and the browser encodes the
  427. filename parameter value with UTF8.
  428. Thanks to @xredumb for finding and reporting this bug!
  429. * NetworkTcpSession.cs: Increased allowed level of "out-of-order" for packets.
  430. Every uni-directional stream now allows packets to be 256 frames "late"
  431. within a TcpDataStream.
  432. * ModbusTcpPakcet.cs: Added support for Modbus/TCP protocol, as requested by
  433. attendees at the 4SICS 2014 conference (4sics.se).
  434. * FileStreamAssembler.cs: Changed path of reassembled files from:
  435. "AssembledFiles/HTTP - TCP 80/<directory>/<filename>"
  436. into:
  437. "AssembledFiles/TCP-80/<directory>/<filename>"
  438. * HttpPacketHandler.cs: Added HTTP request methods and URI's to Parameters tab
  439. as well ass HTTP response status codes and headers
  440. * NetBiosSessionService.cs: Defaulting to RAW transport type for NetBIOS when
  441. source or destination port is 445. Allows for larger NetBIOS messages.
  442. * Smb2Packet.cs: Added parser for SMB2 protocol.
  443. * FtpPacketHandler.cs: Uploaded files are now reassembled under the FTP server
  444. host's folder.
  445. * DnsPacket.cs: Bug in parsing of DNS answer records when the record contains
  446. the queried domain name instead of am relative offset to the query-record.
  447. Thanks to Ulf Skoglund of FM CERT fame for reporting this bug!
  448. * NetBiosSessionService: Even more command types are now supported, thanks
  449. to feedback from Eric Kollmann.
  450. NetworkMiner 1.6.1 2014-06-24
  451. * ReceivePcapOverTcpForm.cs: Removed call to Application.DoEvents() to make
  452. PCAP-over-IP feature more reliable.
  453. * NetworkMinerForm.cs: Removed calls to Application.DoEvents().
  454. NetworkMiner 1.6 2014-06-16
  455. * DnsPacket.cs: Added error handling of recursive DNS Name Labels that
  456. contains a forever-loop pointer. Thanks to Dan Eriksson (of FM CERT fame)
  457. for notifying us about this bug!
  458. * NetworkMinerForm.cs: Removed sniffing capability from GUI when running
  459. NetworkMiner under Mono (in Linux for example). Users should instead use the
  460. PCAP-over-IP feature to perform live sniffing in Linux, OSX etc.
  461. * NetworkMienrForm.cs: Files and images can now be drag-and-dropped to any
  462. desired application or location directly from the "Files" and "Images" tabs
  463. in the GUI.
  464. * SmtpPacketHandler.cs: Improved extraction of SMTP e-mails and attachments
  465. * Rfc2047Parser.cs: Added simple parser for RFC 2047 encoding in order to
  466. properly parse strings in SMTP headers, such as subject lines and attachment
  467. filenames.
  468. * PcapFileWriter.cs: Increased file buffer size to 8MB for improved performance
  469. * PacketHandler.cs: Increase packet queue size to 16000 packets for live
  470. sniffing
  471. * NetworkHost.cs: Fixed OS fingerprinting mixup where Apple iOS was
  472. confused with Cisco IOS.
  473. * DnsPacket.cs: Added DNS response error messages like NXDOMAIN and
  474. SERVFAIL to DNS tab. Thanks to Lenny Hansson for the idea!
  475. * PcapOverIP: Moved PCAP-over-IP implementation from the Professional
  476. edition of NetworkMiner into the Free Open Source version.
  477. * PcapStreamReader.cs: Improved performance of backgroundStreamReader by
  478. making sleep durations adaptive. This has significant impact on computers
  479. and VM's with limited CPU resources.
  480. NetworkMiner 1.5 2013-09-10 Erik Hjelmvik
  481. * ErfFrame.cs: Added support to parse pcap files containing Extensible
  482. Record Format (ERF) frames.
  483. * PointToPointOverEthernetPacket.cs: Added PPPoE protocol parser.
  484. * PointToPointPacket.cs: Improved PPP parser to support non-HDLC type PPP
  485. packets. Example: "AOLTraffic_00000_20071029163901.pcap" from pcapr.net
  486. * NetworkMinerForm.cs: Added feature to load keywords from text file.
  487. * FileStreamAssembler.cs: Fixed directory traversal vulnerability. Thanks
  488. to Alyssa Milburn for discovering and notifying us regarding this vulnerability!
  489. * FileStreamAssembler.cs: Improved exception handling, especially for SMTP
  490. Thanks to Jonas Lejon for supplying captured packets that triggered the
  491. exception!
  492. * NetworkWrapper.Utils.Security.cs: Added detection of DLL Injection.
  493. Thanks to Ucha Gobejishvili for reporting this vulnerability!
  494. * NetworkMinerForm.cs: Fixed NullReferenceException when masking credentials
  495. with null values. Thanks to Claus Valca for finding this bug.
  496. * UdpPortProtocolFinder.cs: Added parsing of LLMNR DNS queries over UDP 5355
  497. NetworkMiner 1.4.1 2012-08-29 Erik Hjelmvik
  498. * PacketHandler.cs: Now allowing large "virtual" frames for reassembled
  499. TCP streams.
  500. * IEC-104_PacketHandler.cs: Fixed confusion about what TCP endpoint a command
  501. is sent from when server and client have the same IP.
  502. NetworkMiner 1.4 2012-08-12 Erik Hjelmvik
  503. * DhcpPacketHandler.cs: DHCP option data is now extracted to the parameters
  504. tab. Thanks to Paul Cockayne for the idea.
  505. * IPv4Packet.cs: Fragmented IPv4 packets are now properly reassembled to
  506. full IP packets with payload.
  507. * IEC_60870-5-104Packet.cs: Implemented the SCADA protocol IEC 60870-5-104.
  508. Thanks to Aivar Liimets from Martem for his great support on this one!
  509. * PacketHandler.cs: Added proper timestamps to detected anomaly events and
  510. improved ARP poisoning reporting to anomalies tab.
  511. * NetworkMinerForm.cs: Verification of file extention is completely removed.
  512. Files with any extention can now be loaded, as long as they are valid
  513. libpcap files.
  514. * NetworkMinerForm.cs: Added "Clear GUI" button to Tools menu.
  515. * NetworkMinerForm.cs: Added option to show/hide cookies, NTLM challenge-
  516. responses as well as the ability to mask passwords in credentials tab.
  517. NetworkMiner 1.3 2012-04-12 Erik Hjelmvik
  518. * NullLoopbackPacket.cs: Added support for the Null / Loopback link layer
  519. packets used when sniffing localhost on BSD operating systems.
  520. * NetworkTcpSession.cs: Modified getter for FinPacketReceived to solve the
  521. bug found by TCB13.
  522. * HttpPacket.cs: Added extraction of usernames from Digest Authorization
  523. such as those found in web_recon.pcap in:
  524. http://uscc.cyberquests.org/february2012.php
  525. * HttpPacketHandler.cs: Added HTTP headers to Parameters tab.
  526. * HttpPacketHandler.cs: Added HTTP X headers, such as x-up-calling-line-id
  527. and HTTP_X_UP_CALLING_LINE_ID, to host details under ExtraDetails.
  528. * NetworkMinerForm.cs: Added support to load .raw files as pcap files, such
  529. as those generated from Sguil. Thanks to Doug Burks for the idea!
  530. * NetworkMinerForm.cs: Disabled nag-dialogue-box about WinPcap not being
  531. installed on startup since NetworkMiner is primarily designed to be a pcap
  532. parser rather than a sniffer.
  533. * StringManglerUtil.cs: Added support to handle null strings in
  534. GetExtension function.
  535. * MultiPart.cs: Added exception handler to ReadHeaderAttributes function
  536. to avoid exceptions from negative length Substring calls.
  537. * NetworkMinerForm.cs: Added the option of selecting a different cleartext
  538. database file in the "Cleartext" tab. This feature can be used in order to
  539. for example look for text in a specific language.
  540. * IPv4Packet.cs: Error handling of IP packets with fragment offset > 0.
  541. Thanks to Aivar Liimets for finding this bug.
  542. NetworkMiner 1.2 2011-11-19 Erik Hjelmvik
  543. * Updated directory separators to be platform independent. This means that
  544. NetworkMiner can now be run on Linux, Mac etc. with Mono:
  545. http://www.mono-project.com/
  546. * PcapStreamReader.cs: Updated exception handling to cope more nicely with
  547. end-of-stream issues, such as PCAP files cut in the middle of a frame.
  548. Thanks to James Lay for identifying this bug.
  549. * SmtpPacketHandler.cs: Added exception handler to fileData.AddRange() call
  550. * PartBuilder.cs: Added support for extracting data from non-multipart data
  551. * HttpPacketHandler.cs: Added support for extracting emails from AOL webmail
  552. as in here: http://forensicscontest.com/2011/10/11/puzzle-10-the-l33t-pill
  553. * GrePacket.cs: Added GRE protocol implementation.
  554. * PacketHandler.cs: Added code to extract messages from unencrypted
  555. SquirrelMail webmail, comments on Wordpress and comments on Blogspot.
  556. * NetworkCredential.cs: Unencrypted login credentials to SquirrelMail
  557. webmail are now extracted to the credentials tab.
  558. * HttpPacketHandler.cs: Updated "Details" column in "Files" tab to display
  559. [http.host][http.request.uri] insted of just [http.request.uri].
  560. NetworkMiner 1.1 2011-09-15 Erik Hjelmvik
  561. * NetworkMinerForm.cs: Fixed so that one or multiple pcap files can be
  562. loaded on startup by drag-n-droping them onto NetworkMiner.exe. Same thing
  563. goes for when providing pcap files as command line arguments.
  564. * PacketHandler.cs:
  565. - Fixed concurrency issues by locking the correct queue object. Thanks to
  566. psteier for being first to find and solve this bug!
  567. - Added new PacketHandler for NetBiosSessionService
  568. * PointToPointPacket.cs: Added support for PPP frames in pcap files, such
  569. as this one: http://www.pcapr.net/view/tyson.key/2009/8/2/13/Social_Networks_and_RSS_00005_20090929212859.html
  570. * SmbCommandPacketHander.cs: Added FileID to assembler's ExtendedFileId in
  571. order to support multiple simultaneous SMB file transfers over the same TCP
  572. session. Thanks to I S for reporting this bug!
  573. * NetBiosSessionService.cs: Implemented interface ISessionPacket and added
  574. support for the NetBios Session Service session keep-alive message
  575. * WinPCapNative.cs: Changed CallingConvention to Cdecl
  576. * PcapFileReader.cs: Added a more generic base class "PcapStreamReader" that
  577. PcapFileReader extends to parse a FileStream rather than an IO-stream.
  578. * HttpPacketHandler.cs: Added support to extract data submitted to Google
  579. Analytics into "Host Details". This includes attributes like:
  580. - Screen resolution
  581. - Color depth
  582. - Browser language
  583. - Flash version
  584. NetworkMiner 1.0 2011-02-05 Erik Hjelmvik
  585. * FileStreamAssembler.cs: Implemented support to avoid reserved file and folder
  586. names such as COM2, LPT1 and CON for files extracted to disk.
  587. * SmtpPacket.cs: Extended the protocol parser to handle multiple requests and
  588. responses in a single SMTP packet.
  589. * TlsRecordPacketHandler.cs: Improved parsing of SSL/TLS traffic to use the
  590. underlying TCP stream properly in order to handle TLS record breakes on
  591. non-even TCP packet boundaries.
  592. * TcpPortProtocolFinder.cs: Added more default TCP service ports: 8021=FTP,
  593. 5223+8170+8443+9001+9030=SSL
  594. * Converted Visual Studio project to Visual C# 2010 format, .NET framework
  595. is still let back in 2.0 so that NetworkMiner will be able to run on as
  596. many machines as possible.
  597. * Improved TCP reassembly to support out-of-order TCP segments that are
  598. paritally overlapping.
  599. * NetworkTcpSession.cs: Modiefied FinPacketReceived to require a FIN in each
  600. direction in order for the session to be closed.
  601. * FtpPacketHandler.cs: File sizes are extracted from the FTP control session
  602. and stored to the file stream assembler object for better file size precision.
  603. * PacketFactory.cs: Added support for Per-Packet Information header
  604. (WTAP_ENCAP_PPI) as used by Kismet and sometimes Wireshark WiFi sniffing.
  605. * PacketHandler.cs: Added extraction of Facebook as well as Twitter messages
  606. into the message tab. Added support to extract emails sent with Microsoft
  607. Hotmail (I.e. Windows Live) into Messages tab.
  608. * NetworkCredential.cs:
  609. - Added extraction of twitter passwords from when settings are changed.
  610. Facebook user account names are also extracted (but not Facebook
  611. passwords).
  612. - Added extraction of gmailchat parameter from cookies in order to
  613. identify users through their Google account logins.
  614. * MacCollection.cs: Fixed bug with incorrect NIC vendor extraction. Also
  615. added support for the original IEEE OUI file format as used in:
  616. http://standards.ieee.org/regauth/oui/oui.txt
  617. * SyslogPacket.cs: Added protocol parser for Syslog. Syslog messages are
  618. displayed on the Parameter tab.
  619. NetworkMiner 0.92 2010-05-27 Erik Hjelmvik
  620. * ChangeLog: Added this ChangeLog file to the project. I also added some info
  621. about the previous two releases.
  622. * NetworkMinerForm.cs: Added Extension column to files list
  623. * NetworkCredential.cs: Added support to extract login credentials from the
  624. AfterLogic AJAX based webmail service.
  625. * NetworkTcpSession.cs: Improved server detection when the TCP 3-way
  626. handshake is missing in a TCP session by looking at TCP port numbers for known
  627. protocols.
  628. NetworkMiner 0.91 2009-11-22 Erik Hjelmvik
  629. * SmtpPacketHandler.cs: Fixed bug where full TCP content length was returned
  630. instead of 0 when other protocols than SMTP were parsed. This caused
  631. NetworkMiner to fail when reassembling layer 7 protocol headers that were
  632. segmented in multiple TCP packets.
  633. * PacketHandler.cs: Added ability to extract messages from web-based e-mail
  634. and chat services, such as Gmail, Gmail chat, Yahoo e-mail, MS Exchange webmail
  635. NetworkMiner 0.90 2009-11-09 Erik Hjelmvik
  636. * SmtpPacket.cs: Added SMTP parser. The main reason was to compete in the
  637. Network Forensics Puzzle Contest at http://forensicscontest.com/
  638. * NetworkMinerForm.cs: Added the "Messages" tab in the GUI. Emails and chat
  639. messages are displayed on this tab.