mirror of
https://gitlab.com/kalilinux/packages/unix-privesc-check.git
synced 2024-11-24 04:13:06 +00:00
454 lines
16 KiB
Plaintext
454 lines
16 KiB
Plaintext
|
2012-11-14 unix-privesc-check trunk
|
||
|
|
||
|
* Tidied docs/CHANGELOG
|
||
|
* Updated docs/HACKING
|
||
|
* Tidied upc.sh
|
||
|
* Added tools/generate_docs.sh to generate stub documentation for
|
||
|
lib/misc/* and lib/checks/*
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2012-11-05 unix-privesc-check trunk
|
||
|
|
||
|
* Add support for PostgreSQL
|
||
|
* Added lib/checks/postgresql_configuration
|
||
|
* Added lib/checks/postgresql_connection
|
||
|
* Added lib/checks/postgresql_trust
|
||
|
* Added lib/misc/postgresql
|
||
|
* Added lib/misc/ldap and lib/checks/ldap_authentication
|
||
|
* Added lib/misc/nis and lib/checks/nis_authentication
|
||
|
* Added lib/checks/privileged_arguments to verify if textual
|
||
|
privileged files (like bash scripts) accept arguments from command line
|
||
|
* Added lib/misc/init and support in lib/misc/privileged
|
||
|
* Added security check to verify device mount options: dev, suid, user
|
||
|
* Added function file_is_basename to lib/misc/file
|
||
|
* Renamed lib/checks/devices to lib/checks/devices_permission
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-11-02 unix-privesc-check trunk
|
||
|
|
||
|
* Bug fix: uname on Solaris returns SunOS
|
||
|
* Added lib/misc/device and lib/checks/devices to verify world-readable and
|
||
|
world-writable permission on all device files including swap device(s)
|
||
|
* Improved lib/misc/cron to correctly handle PATH variable from /etc/crontab
|
||
|
and to differentiate programs lauched by /etc/crontab with
|
||
|
/etc/cron.[hourly|daily|monthly]
|
||
|
* Added lib/checks/privileged_environment_variables to verify if textual
|
||
|
privileged files (like bash scripts) use environment variables
|
||
|
* Improved lib/checks/privileged_tmp to also process textual privileged
|
||
|
files (like bash scripts)
|
||
|
* Added binary_matches_string_grep function to lib/misc/binary to avoid
|
||
|
interpreting the pattern as an extended regular expression
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-11-01 unix-privesc-check trunk
|
||
|
|
||
|
* Bug fix: Return value in lib/misc/binary
|
||
|
* Bug fix: Avoid recursing the linker_list_dependencies function
|
||
|
* Added lib/misc/inittab and support in lib/misc/privileged
|
||
|
* Improved lib/checks/system_configuration check to display also sensitive
|
||
|
directories and their content
|
||
|
* Improved lic/checks/system_configuration to notify about writable
|
||
|
configuration files by non-root users
|
||
|
* More detailed stdout messages for file owner condition across
|
||
|
lib/checks/*
|
||
|
* Updated the lib/misc/shadow and lib/checks/shadow_hash to display a
|
||
|
warning message when the password hashes file is readable
|
||
|
* Cleaned the code of libs/checks/privileged_dependency
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-10-31 unix-privesc-check trunk
|
||
|
|
||
|
* Added lib/misc/cron to parse /etc/cron*, /var/spool/cron/crontabs/*,
|
||
|
crontab -l and used it in lib/misc/privileged
|
||
|
* Enhanced process_show_command function to process /proc/PID/environ and
|
||
|
return script file path instead of ruby, perl, bash, etc
|
||
|
* Added parse_environ_cwd function to parse /proc/PID/environ file and
|
||
|
extract the process current working directory
|
||
|
* Added a preliminary check to all functions that call objdump to ensure
|
||
|
the file is not a textual file (like a bash script, etc)
|
||
|
* Added other file paths to check for permissions in
|
||
|
lib/checks/system_configuration
|
||
|
* Added file_is_directory function to lib/misc/file
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-10-30 unix-privesc-check trunk
|
||
|
|
||
|
* Added lib/checks/sudo to verify permissions on /etc/sudoers and its
|
||
|
entries
|
||
|
* Added functions to parse /etc/sudoers to lib/misc/sudo
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-10-28 unix-privesc-check trunk
|
||
|
|
||
|
* Added lib/checks/history_readable to list all readable .*_history
|
||
|
files
|
||
|
* Added lib/checks/homedirs_executable and lib/checks/homedirs_writable
|
||
|
* Added lib/checks/system_configuration to list writable permissions on
|
||
|
system configuration files and directories
|
||
|
* Added support for --verbose switch
|
||
|
* Added passwd_show_homedir function to lib/misc/passwd
|
||
|
* Aligned test types (symlinks) to all recently developed security checks
|
||
|
* Bug fix: group_is_in_group_name function
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-10-22 unix-privesc-check trunk
|
||
|
|
||
|
* Added lib/checks/privileged_nx
|
||
|
* Added lib/checks/privileged_relro
|
||
|
* Added lib/misc/kernel
|
||
|
* Added lib/checks/system_aslr
|
||
|
* Added lib/checks/system_mmap
|
||
|
* Added lib/checks/system_nx
|
||
|
* Added lib/checks/system_selinux
|
||
|
* Added permission_is_world_writable_sticky_bit function to
|
||
|
lib/misc/permission
|
||
|
* Added support to verify sticky bit against world-writable directories
|
||
|
* Renamed lib/checks/banned_* to lib/checks/privileged_*
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-10-22 unix-privesc-check trunk
|
||
|
|
||
|
* Added lib/misc/validation and modified lib/misc/* to use it.
|
||
|
The aim is to sanity check that libraries are being called
|
||
|
correctly. We can improve this over time
|
||
|
* Bug fix: Renamed validation_is_regex to validation_matches_regex
|
||
|
in lib/misc/validation
|
||
|
* Bug fix: validation_matches_regex test was wrong, should be -n
|
||
|
not -r in lib/misc/validation
|
||
|
* Bug fix: Added inclusion checks to prevent multiple inclusions
|
||
|
* Bug fix: Changed lib/misc/* to catch data returned by
|
||
|
validate_is_*
|
||
|
* Removed unnecessary calls to file_check_or_generate_cache in
|
||
|
lib/misc/checks/*
|
||
|
* Updated symlinks for different types of scan
|
||
|
* Removed tools/banned.h
|
||
|
* Tidied up formatting
|
||
|
* Fixed AIX specific bug with checking users don't have a password
|
||
|
of ! in lib/checks/passwd_hashes
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2012-10-21 unix-privesc-check trunk
|
||
|
|
||
|
* Added library to parse patterns, for now implements only one function to
|
||
|
extract and return all absolute file paths, parse_extract_absolute_filepaths
|
||
|
* Added lib/misc/sudo
|
||
|
* Added sudo support to lib/misc/privileged
|
||
|
* Added lib/misc/user
|
||
|
* Added lib/misc/group
|
||
|
* Added lib/misc/permission
|
||
|
* Added file_is_readable function to lib/misc/file
|
||
|
* Added two functions to lib/misc/file
|
||
|
* file_exists_file and file_is_regular_file
|
||
|
* Added validate_is_boolean function to lib/misc/validate
|
||
|
* Added support for --color switch to enable output coloring
|
||
|
* Updated lib/checks/jar and lib/checks/key_material
|
||
|
* Removed one cycle, minor refactoring and use lib/misc/user and
|
||
|
lib/misc/group
|
||
|
* Ported all calls to id command through the code to their relevant
|
||
|
user/group libraries functions
|
||
|
* Bug fix: Missing import bug in lib/checks/binary_rpath
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-10-21 unix-privesc-check trunk
|
||
|
|
||
|
* Bug fix: Changed $VERSION to ${VERSION} etc in upc.sh
|
||
|
* Removed old TODOs from lib/checks/set[ug]id
|
||
|
* Bug fix: Removed symlink exclusion in lib/misc/file cache
|
||
|
generation
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2012-10-20 unix-privesc-check trunk
|
||
|
|
||
|
* Minor improvements to lib/misc/linker
|
||
|
* Bug fix: Avoid using file as variable name
|
||
|
* Bug fix: Use grep instead of egrep in one file function
|
||
|
* Consolidated the stdout to clarify where the warning message throughout
|
||
|
lib/checks/binary_*
|
||
|
* Improved lib/checks/key_material and lib/checks/jar to show more detailed stdout
|
||
|
* Major speedup to lib/checks/group_writable and lib/checks/world_writable
|
||
|
* Re-engineered lib/checks/binary_dependency
|
||
|
* Improved lib/checks/binary_rpath and lib/checks/binary_writable to also verify
|
||
|
write access by non-root users
|
||
|
* Refactored lib/checks/system_libraries code
|
||
|
* Added function to check for SSH key files permissions to lib/checks/ssh_agent
|
||
|
* Renamed lib/checks/ssh_key_unencrypted to lib/checks/ssh_key
|
||
|
* Consolidated lib/checks/ssh_agent and lib/checks/ssh_key checks to also
|
||
|
show encrypted key files
|
||
|
* Removed exclusions from lib/checks/credentials
|
||
|
* Created lib/misc/file function file_is_textual
|
||
|
* Improved file_show_symlinked_filename function to be recursive and always
|
||
|
return the real linked filename
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-10-19 unix-privesc-check trunk
|
||
|
|
||
|
* Re-engineered check lib/checks/binary_rpath
|
||
|
* Fixed the file_parent_traverse function call in lib/checks/binary_writable
|
||
|
and lib/checks/system_libraries
|
||
|
* Fixed some more checks' descriptions
|
||
|
* Bug fix: Syntax fix in lib/misc/binary
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-10-18 unix-privesc-check trunk
|
||
|
|
||
|
* Tidied up upc.sh, added an additional error check
|
||
|
* Purged dummy, replaced with _ after suggestion from BDA
|
||
|
* Bug fix: No longer considers "enabled" as a check
|
||
|
* Changed lib/misc/privileged to split out cache generation so that it
|
||
|
happens on inclusion
|
||
|
* Bug fix: Removed unintentional trailing space from file cache
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2012-10-18 unix-privesc-check trunk
|
||
|
|
||
|
* Bug fix: Fixed regexp patterns to avoid returning directories in
|
||
|
lib/misc/privileged and lib/misc/file
|
||
|
|
||
|
-- <pentestmonkey@pentestmonkey.net>
|
||
|
|
||
|
2012-10-18 unix-privesc-check trunk
|
||
|
|
||
|
* Added check lib/checks/binary_writable
|
||
|
* Bug fix: Proper use of dirname in file_show_symlinked_filename function
|
||
|
* Bug fix: Replaced STDIN redirection with cat for inetd configuration
|
||
|
files parsing in lib/misc/linker
|
||
|
* Bug fix: Avoid escaping a path with an asterisk in lib/misc/ssh_agent
|
||
|
* Refactored check lib/checks/system_libraries code
|
||
|
* Refactored check lib/checks/world_writable code
|
||
|
* Refactored check lib/checks/binary_dependency code
|
||
|
* Refactored checks lib/checks/setuid and lib/checks/setgid code
|
||
|
* Improved a lot speed of lib/checks/jar and lib/checks/key_material
|
||
|
* Improved lib/misc/ssh_agent to work on recent Linux distributions too
|
||
|
and inspect /tmp folder for both SSH agent parent process and pid-1
|
||
|
* Avoid duplicate processes entries in lib/misc/privileged
|
||
|
* Improved regular expression patterns throughout the code
|
||
|
* Added --check and --version switches to upc.sh
|
||
|
* Added description to missing checks
|
||
|
* Added verbose comment to lib/checks/ssh_key_unencrypted with suggestions
|
||
|
for improvements
|
||
|
* Set subversion properties on all missing files
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-10-18 unix-privesc-check trunk
|
||
|
|
||
|
* Changed lib/misc/shadow to favour 1 egrep over 2 greps
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2012-10-17 unix-privesc-check trunk
|
||
|
|
||
|
* Added lib/checks/binary_path
|
||
|
* Added lib/checks/binary_random
|
||
|
* Changed stdio_message_error to output to STDERR
|
||
|
in lib/misc/stdio
|
||
|
* Removed date from output (reverting BDA change)
|
||
|
* Updated lib/misc/ssh_agent
|
||
|
* Updated lib/misc/shadow
|
||
|
* Updated lib/misc/process (reverting BDA change)
|
||
|
* Updated lib/misc/privileged (partially reverting BDA change)
|
||
|
* Kept the caching code
|
||
|
* Kept variable name changed to make the code more readable
|
||
|
* Updated lib/misc/passwd
|
||
|
* Updated lib/misc/linker (reverting BDA change)
|
||
|
* Updated lib/misc/inetd (reverting BDA change)
|
||
|
* Updated lib/misc/dependencies to disable for now. The
|
||
|
principal is solid, but it needs more consideration.
|
||
|
For example, why does only lib/misc/binary need dependencies,
|
||
|
what happens on non-Linux systems etc
|
||
|
* Added docs/HACKING. I will need to work on it but it should
|
||
|
help to smooth the path for new hackers :)
|
||
|
* Updated lib/misc/file (partially reverting BDA change)
|
||
|
* Kept symlink related code
|
||
|
* Kept permissions related code
|
||
|
* Changed lib/misc/privileged to use file_list_by_perms
|
||
|
correctly. Bonus, reduction of loops
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2012-10-17 unix-privesc-check trunk
|
||
|
|
||
|
* Added binary_banned_api function to lib/misc/binary
|
||
|
* Added file_show_symlinked_file function to lib/misc/file
|
||
|
* Added code comments to lib/misc/file
|
||
|
* Added cashing mechanism to lib/misc/privileged
|
||
|
* Added file headers throughout the source code
|
||
|
* Added checks' description in comment headers
|
||
|
* Added date to standard output function
|
||
|
* Added an error message log function
|
||
|
* Added notification of needed dependencies (binutils package)
|
||
|
* Narrowed down regular expression patterns in some checks
|
||
|
* Refactored check lib/checks/credentials code and exclude man pages and
|
||
|
python/ruby/perl libraries
|
||
|
* Refactored check lib/checks/binary_dependency code
|
||
|
* Refactored check lib/checks/group_writable code
|
||
|
* Removed unnecessary Linux-specific code from lib/misc/process
|
||
|
* Standardized checks' standard output and removed unnecessary lines
|
||
|
|
||
|
-- Bernardo Damele A. G. <bernardo.damele@gmail.com>
|
||
|
|
||
|
2012-09-23 unix-privesc-check trunk
|
||
|
|
||
|
* Bug fix: Changed from stdio_message_debug to stdio_message_warn
|
||
|
in lib/checks/binary_banned
|
||
|
* Bug fix: Incorrect symlink checking in binary_dependency,
|
||
|
binary_rpath, world_writable and group_writable
|
||
|
* Added support for PIE to lib/misc/binary
|
||
|
* Added lib/checks/binary_pie
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2012-09-22 unix-privesc-check trunk
|
||
|
|
||
|
* Started adding --help
|
||
|
* Removed date from output
|
||
|
* Bug fix: Changed $1 to ${1} etc
|
||
|
* Added message when generating cache
|
||
|
* Bug fix: Checking wrong variable in lib/misc/process
|
||
|
* Added lib/misc/privileged
|
||
|
* Changed string checks from "" to -n etc
|
||
|
* Standardised variable names
|
||
|
* Changed how checks are enabled, it is now possible to have
|
||
|
different types of scan using --type
|
||
|
* Added check for encryption to lib/checks/ssh_key_unencrypted
|
||
|
* Renamed lib/checks/binary_changeprivs to
|
||
|
lib/checks/binary_change_privileges
|
||
|
* Updated docs/COPYING.UNIX-PRIVESC-CHECK to reference
|
||
|
version 1 explicitly. This will allow version 2 into
|
||
|
Debian and other free distributions
|
||
|
* Added lib/checks/binary_banned
|
||
|
* Added check for lack of XXX in lib/checks/tmp
|
||
|
* Added check for DT_RUNPATH to lib/checks/binary_rpath
|
||
|
* Started work on porting lib/misc/* to Solaris
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2012-09-11 unix-privesc-check trunk
|
||
|
|
||
|
* Branching 1.x at revision 26
|
||
|
* 2.0 released
|
||
|
* Bug fix: Typo in lib/checks/binary_dependency
|
||
|
* Improved output of lib/checks/system_libraries,
|
||
|
lib/checks/binary_dependency, lib/checks/binary_rpath
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2010-12-30 unix-privesc-check trunk
|
||
|
|
||
|
* Bug fix: Cleaned up a typo
|
||
|
* Added support for fscaps
|
||
|
* Updated CHANGELOG
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2010-11-09 unix-privesc-check trunk
|
||
|
|
||
|
* Bug fix: False positive if svn.simple directory is empty
|
||
|
|
||
|
-- <pentestmonkey@pentestmonkey.net>
|
||
|
|
||
|
2010-11-04 unix-privesc-check trunk
|
||
|
|
||
|
* Added unique issue numbers. Should help to generate reports
|
||
|
|
||
|
-- <pentestmonkey@pentestmonkey.net>
|
||
|
|
||
|
2010-04-17 unix-privesc-check trunk
|
||
|
|
||
|
* Bug fix: Now checks HP-UX swap permissions correctly
|
||
|
* Bug fix: Cleaned up a few typos
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2010-09-27 unix-privesc-check trunk
|
||
|
|
||
|
* Added check for cleartext subversion passwords in home directory
|
||
|
|
||
|
-- <pentestmonkey@pentestmonkey.net>
|
||
|
|
||
|
2010-01-06 unix-privesc-check trunk
|
||
|
|
||
|
* Added support for exploit mitigations (HP-UX and Solaris)
|
||
|
* Checks if shadow and passwd are writable, thanks jdv
|
||
|
* Checks for SetUID shell scripts which might be racey
|
||
|
* Improved NX and SSP checks (Linux only)
|
||
|
* Bug fix: Cleaned up a few typos
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2009-09-23 unix-privesc-check trunk
|
||
|
|
||
|
* Bug fix: Cron jobs starting with '(' parsed properly
|
||
|
* Checks perms on Java classpath
|
||
|
|
||
|
-- <pentestmonkey@pentestmonkey.net>
|
||
|
|
||
|
2009-09-06 unix-privesc-check trunk
|
||
|
|
||
|
* Added MMAP allows map to 0 exploit mitigation (Linux ATM)
|
||
|
* Added SELinux exploit mitigation (Linux only)
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2009-07-30 unix-privesc-check v1.5
|
||
|
|
||
|
* Initial AIX support added
|
||
|
* Check for exploit mitigations (Linux only ATM)
|
||
|
* Brain dumped some more interesting things to check for into TODOs
|
||
|
* Bug fix: Fixed typos in comments
|
||
|
* Added SSP exploit mitigation (Linux only ATM)
|
||
|
|
||
|
-- Tim Brown <timb@nth-dimension.org.uk>
|
||
|
|
||
|
2008-11-23 unix-privesc-check v1.4
|
||
|
|
||
|
* Added check of file perms of shared libraries used by SUID programs
|
||
|
* Tidied output slightly
|
||
|
|
||
|
2008-11-09 unix-privesc-check v1.3
|
||
|
|
||
|
* Bug fix: Parts of the script only worked with /bin/bash and not /bin/sh
|
||
|
* Bug fix: Fixed typos in reporting for privescs via cron
|
||
|
|
||
|
2008-07-06 unix-privesc-check v1.2
|
||
|
|
||
|
* Added check of library dirs (/etc/ld.so.conf) for Linux
|
||
|
* Crude check of programs called from shell scripts
|
||
|
* Check of libraries used by each binary program (using ldd)
|
||
|
* Check of hard-coded paths within binaries (using strings)
|
||
|
* More verbose WARNING messages. All the explanation for a WARNING
|
||
|
should now be on one line so you can grep for 'WARNING' and still
|
||
|
understand the results
|
||
|
* Check of file perms on open file handles of running processes
|
||
|
* Check for running SSH agent. Lists keys if possible
|
||
|
* Check for public and private SSH keys in home directories
|
||
|
* Check for running GPG agent
|
||
|
* Check for cron jobs in /var/spool/cron/tabs
|
||
|
* Extra non-priv check for local postgres trusts
|
||
|
* Bug fix: lanscan now used on HPUX to get interface names
|
||
|
* Check if system is an NFS client (HPUX only)
|
||
|
* Check if swap space is readable / writable
|
||
|
|
||
|
2008-04-17 unix-privesc-check v1.1
|
||
|
|
||
|
* Added check for accounts with no password in /etc/passwd
|
||
|
* Record some basic info about the host (hostname, uname -a, interface IPs)
|
||
|
|
||
|
2008-02-01 unix-privesc-check v1.0
|
||
|
|
||
|
* Initial public release
|