lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Date: Mon, 15 Nov 2004 18:18:50 +0000
From: Luigi Auriemma <aluigi@...istici.org>
To: bugtraq@...urityfocus.com, bugs@...uritytracker.com,
	news@...uriteam.com, full-disclosure@...ts.netsys.com,
	vuln@...unia.com
Subject: Multiple vulnerabilities in Hired Team: Trial (Shine engine)



#######################################################################

                             Luigi Auriemma

Application:  Hired Team: Trial
               http://eng.nmg.ru/rubrs.asp?rubr_id=165
              and probably also the Shine engine on which it is based
               http://www.3dengine.ru/index.asp?id=4
Versions:     Hired Team <= 2.0 / 2.200
              (since this is the only game based on the Shine engine
              and I have received no reply from the vendor I cannot
              confirm if the entire engine and what versions are
              vulnerable)
Platforms:    Windows
Bugs:         A] in-game format string
              B] match interruption through malformed packet
              C] status and kick problems
Exploitation: remote
              A] versus server (in-game)
              B] versus server
              C] versus server and players (in-game)
Date:         15 November 2004
Author:       Luigi Auriemma
              e-mail: aluigi@...ervista.org
              web:    http://aluigi.altervista.org


#######################################################################


1) Introduction
2) Bugs
3) The Code
4) Fix


#######################################################################

===============
1) Introduction
===============


Hired Team is a nice FPS game developed by New Media Generation
(http://eng.nmg.ru) and released at the end of the year 2000.
It seems to be the only game based on the Shine engine (created by the
same developers) so I cannot compare the bugs found in this game with
other games created with the same engine to know their "real nature"
and if the engine has been modified from the 2001 till now.


#######################################################################

=======
2) Bugs
=======

------------------------
A] in-game format string
------------------------

The game is affected by a format string bug located in the game
console. That lets an attacker to join a server (that doesn't have
password support, so anyone can enter in it) and crash it or execute
malicious code simply sending a message containing the formatted
arguments (like the classical %n%n%n).


----------------------------------------------
B] match interruption through malformed packet
----------------------------------------------

Each time a new player joins, the server assigns an UDP port to him
(usually the sequential ports after the server's one, by default
29199).
If the server receives a packet containing unexpected data to one of
these data ports, the match will be interrupted immediately.


---------------------------
C] status and kick problems
---------------------------

During the testing of this game/engine I found also that if a client
uses the status command, the server crash immediately.
The other strange thing is that any player can kick the others (admin
included) without limits.


#######################################################################

===========
3) The Code
===========

------------------------
A] in-game format string
------------------------

Launch a server and a client, join the server and use the console by
pressing the ~ key. Then type:

  say %n%n%n

the server will crash immediately. A more simple and fast test is the
following: launch the game, select Console from the main menu and type
%x. You will see a message like: Unknown command "1015c888"


----------------------------------------------
B] match interruption through malformed packet
----------------------------------------------

Send a packet to the UDP port 29200 of the server (or 29220 if you are
testing the demo, it is the data port usually assigned to the admin)
containing any data you want, like hello, asdf or any other type of
data.


---------------------------
C] status and kick problems
---------------------------

When you (client) are into the server, from the console type:

  status

to crash the server or

  kick NAME

where NAME is the name of the player you want to kick.


#######################################################################

======
4) Fix
======


No fix.
The vendor has not replied to my mails. Probably the Shine engine and
Hired Team: Trial are no longer supported.


#######################################################################


--- 
Luigi Auriemma
http://aluigi.altervista.org



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ