Fun with event logs (semi-offtopic)
Dear full-disclosure@xxxxxxxxxxxxxxxxx,
There is interesting thing with event logging on Windows. The only
security aspect of it is event log record tampering and performance
degradation, but it may become sensitive is some 3rd party software is
used for automated event log analysis.
The problem is a kind of "Format string" vulnerability where
user-supplied input is used for event log record. For ReportEvent()
function %1, %2, etc have a special meaning and are replaced with
corresponding string from lpStrings. The problem is this can be done
recursively. That is, %2 argument can include itself. This fact doesn't
lead to any buffer overflow, but you can fill entire buffer with
relatively small argument.
Most services do not escape any user-supplied input then constructing
log event. You can see very interesting event log entries if you try
something like:
net send SOMEHOST %2
or
net use \\SOMEHOST\IPC$ /user:%1%2%3
--
http://www.security.nnov.ru
/\_/\
{ , . } |\
+--oQQo->{ ^ }<-----+ \
| ZARAZA U 3APA3A } You know my name - look up my number (The Beatles)
+-------------o66o--+ /
|/