rapid7/metasploit-framework — pull request #4171 by jhart-r7 (2014-11-11 18:29:41+00:00)
Title: Gather Steam Server info

I am not a gamer, but this protocol came up during work so I wrote a quick gather module for it.

It should work against any dedicated Steam server. You can find example, public targets at https://www.gametracker.com/search/cs/?.

Example usage:

```
msf auxiliary(server_info) > use auxiliary/scanner/steam/server_info
msf auxiliary(server_info) > set RHOSTS steam-hlds.vuln.lax.rapid7.com
RHOSTS => steam-hlds.vuln.lax.rapid7.com
msf auxiliary(server_info) > run

[+] 10.4.25.20:27015 found 'Counter-Strike 1.6 Server'
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(server_info) > set VERBOSE true
VERBOSE => true
msf auxiliary(server_info) > run

[*] Sending probes to 10.4.25.20->10.4.25.20 (1 hosts)
[+] 10.4.25.20:27015 found '{:version=>48, :name=>"Counter-Strike 1.6 Server", :map=>"cs_assault", :folder=>"cstrike", :game_name=>"Counter-Strike", :game_id=>10, :bots=>0, :game_version=>"1.1.2.7/Stdio", :type=>"Dedicated", :environment=>"Linux", :visibility=>"public", :VAC=>"secured", :players=>"0/16"}'
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(server_info) > services

Services
========

host port proto name state info
---- ---- ----- ---- ----- ----
10.4.25.20 27015 udp steam open ---
- :version: 48
:name: Counter-Strike 1.6 Server
:map: cs_assault
:folder: cstrike
:game_name: Counter-Strike
:game_id: 10
:bots: 0
:game_version: 1.1.2.7/Stdio
:type: Dedicated
:environment: Linux
:visibility: public
:VAC: secured
:players: 0/16

```