recog 2.0.6 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +12 -23
- data/lib/recog/fingerprint/regexp_factory.rb +1 -1
- data/lib/recog/version.rb +1 -1
- data/xml/ftp_banners.xml +5 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da33fa7f809f6362444f5ee86b204cbd0f35474e
|
4
|
+
data.tar.gz: dd1456c29a364a9695700dc4b68ce576c7f4d63e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4614dad6aaed032a441f8ceb205349d7e2368a6964d4d2cfd37008d316cc4047b430bd1dd4129b76dd6dbdd86eb8a2c1e4086404db97886c870457064033c527
|
7
|
+
data.tar.gz: 4647a4e4add4abd497a84266c0ca9f03410d69bd6b2561afd8d0e98f180b2b799e98f45599fdeb9f74d57a2db76701664d3023192c31be07c1c789d22a80268c
|
data/CONTRIBUTING.md
CHANGED
@@ -3,9 +3,8 @@
|
|
3
3
|
The users and maintainers of Recog would greatly appreciate any contributions
|
4
4
|
you can make to the project. These contributions typically come in the form of
|
5
5
|
filed bugs/issues or pull requests (PRs). These contributions routinely result
|
6
|
-
in new versions of the [recog gem](https://rubygems.org/gems/recog)
|
7
|
-
|
8
|
-
process for everything is described below.
|
6
|
+
in new versions of the [recog gem](https://rubygems.org/gems/recog) to be
|
7
|
+
released. The process for everything is described below.
|
9
8
|
|
10
9
|
## Contributing Issues / Bug Reports
|
11
10
|
|
@@ -117,24 +116,14 @@ In short:
|
|
117
116
|
|
118
117
|
When Recog's critical parts are modified, for example its fingerprints or underlying supporting code, a new version _must_ eventually be released. These new releases can then be optionally included in projects such as Metasploit or products such as Rapid7's Nexpose in a controlled manner. Releases for non-functional updates such as updates to documentation are not necessary.
|
119
118
|
|
120
|
-
When a new version of Recog is released, you _must_
|
121
|
-
|
122
|
-
* Gem -- for systems that use Gemspec or similar tools to control what version of Recog to include
|
123
|
-
* Github -- for systems that use Git tags to control what version of Recog to include
|
124
|
-
|
125
|
-
### Gem Release
|
126
|
-
|
127
|
-
1. Get an account on [Rubygems](https://rubygems.org)
|
128
|
-
2. Contact one of the Recog project contributors (listed [here under OWNERS](https://rubygems.org/gems/recog) and have them add you to the Recog gem. They'll need to run:
|
129
|
-
```
|
130
|
-
gem owner recog -a EMAIL
|
131
|
-
```
|
132
|
-
3. Edit [lib/recog/version.rb](https://github.com/rapid7/recog/blob/master/lib/recog/version.rb) and increment ```VERSION```. Commit and push to rapid7/recog master.
|
133
|
-
4. Run `rake release`. Among other things, this creates the new gem, uploads it to Rubygems and tags the release with a tag like `v<VERSION>`, where `<VERSION>` is replaced with the version from `version.rb`. For example, if you release version 1.2.3 of the gem, the tag will be `v1.2.3`.
|
134
|
-
5. If your default remote repository is not `rapid7/recog`, you must ensure that the tags created in the previous step are also pushed to the right location(s). For example, if `origin` is your fork of recog and `upstream` is `rapid7/master`, you should run `git push --tags --dry-run upstream` to confirm what tags will be pushed and then `git push --tags upstream` to push the tags.
|
135
|
-
|
136
|
-
### Github Release
|
137
|
-
|
138
|
-
Some users may prefer to consume recog in a manner other than using git itself. For that reason, Github offers [Releases](https://github.com/blog/1547-release-your-software). Whenever a new version of the software is to be released, be kind and also create a new [Release](https://github.com/rapid7/recog/releases), using a versioning scheme identical to that used for the gem. More specifically, you should use the tag created during the releasing of the gem in the previous section (do *not* create a new tag) and a version that is identical to the tag -- the description of the release should just describe what is going into it.
|
139
|
-
|
119
|
+
When a new version of Recog is to be released, you _must_ follow the instructions below.
|
140
120
|
|
121
|
+
1. If are not already a Recog project contributor for the Recog gem (you'd be listed [here under OWNERS](https://rubygems.org/gems/recog)), become one:
|
122
|
+
1. 1. Get an account on [Rubygems](https://rubygems.org)
|
123
|
+
2. Contact one of the Recog project contributors (listed [here under OWNERS](https://rubygems.org/gems/recog) and have them add you to the Recog gem. They'll need to run:
|
124
|
+
```
|
125
|
+
gem owner recog -a EMAIL
|
126
|
+
```
|
127
|
+
2. Edit [lib/recog/version.rb](https://github.com/rapid7/recog/blob/master/lib/recog/version.rb) and increment ```VERSION```. Commit and push to rapid7/recog master.
|
128
|
+
3. Run `rake release`. Among other things, this creates the new gem, uploads it to Rubygems and tags the release with a tag like `v<VERSION>`, where `<VERSION>` is replaced with the version from `version.rb`. For example, if you release version 1.2.3 of the gem, the tag will be `v1.2.3`.
|
129
|
+
4. If your default remote repository is not `rapid7/recog`, you must ensure that the tags created in the previous step are also pushed to the right location(s). For example, if `origin` is your fork of recog and `upstream` is `rapid7/master`, you should run `git push --tags --dry-run upstream` to confirm what tags will be pushed and then `git push --tags upstream` to push the tags.
|
@@ -21,7 +21,7 @@ module Recog
|
|
21
21
|
# multiline variations
|
22
22
|
'REG_DOT_NEWLINE' => Regexp::MULTILINE,
|
23
23
|
'REG_LINE_ANY_CRLF' => Regexp::MULTILINE,
|
24
|
-
'
|
24
|
+
'REG_MULTILINE' => Regexp::MULTILINE,
|
25
25
|
# case variations
|
26
26
|
'REG_ICASE' => Regexp::IGNORECASE,
|
27
27
|
'IGNORECASE' => Regexp::IGNORECASE
|
data/lib/recog/version.rb
CHANGED
data/xml/ftp_banners.xml
CHANGED
@@ -104,7 +104,7 @@ against these patterns to fingerprint FTP servers.
|
|
104
104
|
<param pos="1" name="host.name"/>
|
105
105
|
<param pos="2" name="service.version"/>
|
106
106
|
</fingerprint>
|
107
|
-
<fingerprint pattern="^(\S+)\s+FTP Server \(Version:\s+Mac OS X Server\s+([\d\.]+).*\) ready\.?" flags="REG_ICASE,
|
107
|
+
<fingerprint pattern="^(\S+)\s+FTP Server \(Version:\s+Mac OS X Server\s+([\d\.]+).*\) ready\.?" flags="REG_ICASE,REG_MULTILINE">
|
108
108
|
<description>FTPD on Mac OS X Server with a version</description>
|
109
109
|
<example host.name="example.com" os.version="10.3">example.com FTP server (Version: Mac OS X Server 10.3 - +GSSAPI) ready.</example>
|
110
110
|
<example host.name="example.com" os.version="10.3">this is a banner. change it. example.com FTP server (Version: Mac OS X Server 10.3 - +GSSAPI) ready.</example>
|
@@ -117,7 +117,7 @@ against these patterns to fingerprint FTP servers.
|
|
117
117
|
<param pos="1" name="host.name"/>
|
118
118
|
<param pos="2" name="os.version"/>
|
119
119
|
</fingerprint>
|
120
|
-
<fingerprint pattern="^(\S+)\s+FTP Server \(Version:\s+Mac OS X Server\) ready\.?" flags="REG_ICASE,
|
120
|
+
<fingerprint pattern="^(\S+)\s+FTP Server \(Version:\s+Mac OS X Server\) ready\.?" flags="REG_ICASE,REG_MULTILINE">
|
121
121
|
<description>FTPD on Mac OS X Server without a version</description>
|
122
122
|
<example host.name="example.com">example.com FTP server (Version: Mac OS X Server) ready.</example>
|
123
123
|
<example host.name="example.com">this is a banner. change it. example.com FTP server (Version: Mac OS X Server) ready.</example>
|
@@ -204,7 +204,7 @@ against these patterns to fingerprint FTP servers.
|
|
204
204
|
<param pos="0" name="service.family" value="ProFTPD"/>
|
205
205
|
<param pos="0" name="service.product" value="ProFTPD"/>
|
206
206
|
</fingerprint>
|
207
|
-
<fingerprint pattern="^=\(<\*>\)=-\.:\. \(\( Welcome to Pure-FTPd ([\d.]+) \)\) \.:\.-=\(<\*>\)=-" flags="
|
207
|
+
<fingerprint pattern="^=\(<\*>\)=-\.:\. \(\( Welcome to Pure-FTPd ([\d.]+) \)\) \.:\.-=\(<\*>\)=-" flags="REG_MULTILINE">
|
208
208
|
<!-- yes, the leading and trailing text is not balanced.
|
209
209
|
the leading text is missing the - at the beginning -->
|
210
210
|
<example service.version="1.0.11">=(<*>)=-.:. (( Welcome to Pure-FTPd 1.0.11 )) .:.-=(<*>)=-</example>
|
@@ -214,7 +214,7 @@ against these patterns to fingerprint FTP servers.
|
|
214
214
|
<param pos="0" name="service.product" value="Pure-FTPd"/>
|
215
215
|
<param pos="1" name="service.version"/>
|
216
216
|
</fingerprint>
|
217
|
-
<fingerprint pattern="^-{9,10} Welcome to Pure-FTPd (.*)-{9,10}" flags="
|
217
|
+
<fingerprint pattern="^-{9,10} Welcome to Pure-FTPd (.*)-{9,10}" flags="REG_MULTILINE">
|
218
218
|
<example>---------- Welcome to Pure-FTPd ----------</example>
|
219
219
|
<example>--------- Welcome to Pure-FTPd [privsep] [TLS] ----------</example>
|
220
220
|
<example>--------- Welcome to Pure-FTPd [privsep] [TLS] ---------- more text</example>
|
@@ -225,7 +225,7 @@ against these patterns to fingerprint FTP servers.
|
|
225
225
|
<param pos="0" name="service.family" value="Pure-FTPd"/>
|
226
226
|
<param pos="0" name="service.product" value="Pure-FTPd"/>
|
227
227
|
</fingerprint>
|
228
|
-
<fingerprint pattern="^=\(.\*.\)=-\.:\. \(\( Welcome to PureFTPd (\d+\..+) \)\) \.:\.-=\(.\*.\)=-" flags="
|
228
|
+
<fingerprint pattern="^=\(.\*.\)=-\.:\. \(\( Welcome to PureFTPd (\d+\..+) \)\) \.:\.-=\(.\*.\)=-" flags="REG_MULTILINE">
|
229
229
|
<example service.version="1.1.0">=(<*>)=-.:. (( Welcome to PureFTPd 1.1.0 )) .:.-=(<*>)=-</example>
|
230
230
|
<example service.version="1.1.0">=(<*>)=-.:. (( Welcome to PureFTPd 1.1.0 )) .:.-=(<*>)=- more text</example>
|
231
231
|
<description>Older Pure-FTPd versions</description>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: recog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rapid7 Research
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|