Автоматизация сбора информации на сервере.

Небольшой bash сценарий для сбора информации на сервере. Бывает забываем проверить что либо, тот же shadow на чтение при кривых правах (бывает когда админ )) в таких случаях автоматизация рулит. 🙂

Возможности:
Аргумент #2 —with-color немного красок для вывода информации.
Аргумент #2 —for-help выводит информацию в блоках [codе]*[/codе] для «запостить на форуме».
Первый аргумент из личных соображений не документируется =) just say: Please Work to script (25-35)

Информация об:

 

Код:
/usr/bin/sudo
/usr/bin/staprun
exim
/proc/sys/vm/mmap_min_addr
/etc/shadow
/proc/sys/net/rds
/usr/bin/pkexec
/etc/crontab
mount
df -h
uname -a
/etc/issue
/proc/version
GLIBC
.bash_history
SUID bit files

Код:

PHP код:
#!/usr/bin/env bash
# (c) b3, 02/2012
# https://rdot.org/forum/
####################
PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG=C
COLOR_ENABLED=0
CODE_BEGIN=»»
CODE_END=»»if [ «$2» = «—with-color» ]
then
COLOR_ENABLED=1
else
if [ «$2» = «—for-help» ]
then
CODE_BEGIN=»echo [code]»
CODE_END=»echo [/code]»
fi;
fi;function posible_vuln {
if [ «$COLOR_ENABLED» = «1» ]
then
COLOR_BEGIN=»e[1;31m»
COLOR_END=»e[0m»
fi;
echo -ne $COLOR_BEGIN»[+] «$1 $COLOR_END «n»;
};if [ «$1» != «-pw» ]; then echo «Se»»gment»»ation fa»»ult» 1>&2; exit; fi;
function info {
if [ «$COLOR_ENABLED» = «1» ]
then
COLOR_BEGIN=»e[1;36m»
COLOR_END=»e[0m»
fi;
echo -ne $COLOR_BEGIN»[i] «$1 $COLOR_END «n»;
}

echo -e «nHello %username% id:»;$CODE_BEGIN;id;$CODE_END

#####
#
# Sudo version
#

if [ -x «/usr/bin/sudo» ]
then
info «SUDO:»
$CODE_BEGIN;/usr/bin/sudo -V | grep -i version;$CODE_END;
fi;

#####
#
# /usr/bin/staprun
#

if [ -x «/usr/bin/staprun» ]
then
posible_vuln «/usr/bin/staprun exist and executable»;
info «http://www.exploit-db.com/exploits/15620/»;
fi;

#####
#
# EXIM version
#
if [ -x «`which exim 2>/dev/null`» ]
then
info «EXIM info:»
$CODE_BEGIN;exim -bV 2>/dev/null | grep -i version;$CODE_END;
fi;

#####
#
# /proc/sys/vm/mmap_min_addr
#

if [ -r «/proc/sys/vm/mmap_min_addr» ]
then
if [ «`cat /proc/sys/vm/mmap_min_addr`» -eq «0» ]
then
posible_vuln «/proc/sys/vm/mmap_min_addr = 0»;
info «http://www.grsecurity.net/~spender/exploits/enlightenment.tgz»
fi;
fi;

#####
#
# /etc/shadow -r
#

if [ -r «/etc/shadow» ]
then
posible_vuln «/etc/shadow R permission»
$CODE_BEGIN;head -n1 /etc/shadow | awk -F ‘:’ ‘{print $1″:»$2}’;$CODE_END;
fi;

#####
#
# /proc/sys/net/rds exist
#

if [ -d «/proc/sys/net/rds» ]
then
posible_vuln «/proc/sys/net/rds»;
info «http://www.vsecurity.com/resources/advisory/20101019-1/»
fi;

#####
#
# /usr/bin/pkexec date < 2011.04.01
#

if [ -x «/usr/bin/pkexec» ]
then
filed=»`ls -l /usr/bin/pkexec —full-time | awk ‘{print $6}’ | tr -d ‘-‘`»

if [ «20110401» -gt «$filed» ]
then
posible_vuln «/usr/bin/pkexec date < 2011.04.01»;
info «http://git.zx2c4.com/CVE-2011-1485/tree/polkit-pwnage.c»;
fi;
fi;

#####
#
# /etc/crontab read
#

if [ -r «/etc/crontab» ]
then
if [ -w «/etc/crontab» ]
then
posible_vuln «/etc/crontab RW permission»;
else
posible_vuln «/etc/crontab R permission»;
fi;

$CODE_BEGIN;cat /etc/crontab | grep -v ‘^#’ | grep -v ‘^$’;$CODE_END;
fi;

#####
#
# mount, df -h, uname -a, cat /proc/version, cat /etc/issue
#

info «mount:»;$CODE_BEGIN;mount;$CODE_END;
info «df -h:»;$CODE_BEGIN;df -h;$CODE_END;
info «uname -a:»;$CODE_BEGIN;uname -a;$CODE_END;
info «cat /etc/issue:»;$CODE_BEGIN;cat /etc/issue;$CODE_END;
info «cat /proc/version:»;$CODE_BEGIN;cat /proc/version;$CODE_END;

if [ «`uname -s`» = «Linux» ]
then
info «GLIBC:»;
$CODE_BEGIN;ls -lha /lib/libc-* /lib/libmem* /lib/libcpr* /usr/lib/liblftp-tasks* —full-time 2>/dev/null | awk ‘{print $6″ «$9}’;$CODE_END;
fi;

#####
#
# check all .bash_history
#

info «check all .bash_history»;
for x in `cat /etc/passwd | awk -F’:’ ‘{print $6}’`;
do
if [ -r «$x/.bash_history» ]
then
$CODE_BEGIN;ls -lha «$x»/.bash_history 2>/dev/null;$CODE_END;
fi;
done;

#####
#
# find SUID files
#
info «SUID bit files:»;
$CODE_BEGIN;find / -type f -perm -4000 -user root 2>/dev/null;$CODE_END;

Скачать :

P.S. Комментарии и критика приветствуются.

Автор: b3

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Time limit is exhausted. Please reload the CAPTCHA.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.