recog 2.0.6 → 2.0.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|