拿到一台 linux 主机普通权限之后,如何获取更高的 root 权限?这是红队成员之必备技能,首先为什么要提权?因为提权之后能看到主机上的所有信息,包括主机管理的账号密码哈希,可以离线破解管理员密码,也许存在通用密码的习惯,那么今天就来测试梳理下 Linux 提权的基本信息收集命令及作用。当然,你也可以直接拿最新或者历史的提权 exp 批量测试,也可满足你的需求,本文旨在学习一些 linux 的基础操作和关键信息收集。
查看操作系统类型:
cat /etc/issue cat /etc/*-release cat /etc/lsb-release
可以看到系统是 debain,那么系统版本是什么?64 位还是 32 位?
cat /proc/version uname -a uname -mrs rpm -q kernel dmesg | grep Linux ls /boot | grep vmlinuz-
可以看到当前系统是 64 位。
cat /etc/profile cat /etc/bashrc cat ~/.bash_profile cat ~/.bashrc cat ~/.bash_logout env set
内容比较多,图截不全,还是可以看到一些信息的,比如当前用户的情况:
当前运行了哪些服务?这些服务的用户权限如何?
ps aux ps -ef top cat /etc/services
如果只需查看运行用户是 root 的服务,可以使用 grep 提取:
ps aux | grep root ps -ef | grep root
系统安装了哪些应用,什么版本?
ls -alh /usr/bin/ ls -alh /sbin/ dpkg -l rpm -qa ls -alh /var/cache/apt/archivesO ls -alh /var/cache/yum/
对于找应用漏洞有一定的帮助。
cat /etc/syslog.conf cat /etc/chttp.conf cat /etc/lighttpd.conf cat /etc/cups/cupsd.conf cat /etc/inetd.conf cat /etc/apache2/apache2.conf cat /etc/my.conf cat /etc/httpd/conf/httpd.conf cat /opt/lampp/etc/httpd.conf
查看 /etc/ 目录下所有 root 用户的文件:
ls -aRl /etc/ | awk '$1 ~ /^.r./'
crontab -l ls -alh /var/spool/cron ls -al /etc/ | grep cron ls -al /etc/cron* cat /etc/cron* cat /etc/at.allow cat /etc/at.deny cat /etc/cron.allow cat /etc/cron.deny cat /etc/crontab cat /var/spool/cron/crontabs/root
grep -i user [filename] grep -i pass [filename] grep -C 5 "password" [filename] find . -name "*.php" -print0 | xargs -0 grep -i -n "var $password" # Joomla
/sbin/ifconfig -a cat /etc/network/interfaces cat /etc/sysconfig/network
cat /etc/resolv.conf cat /etc/sysconfig/network cat /etc/networks iptables -L hostname dnsdomainname
lsof -i lsof -i :80 grep 80 /etc/services netstat -antup netstat -antpx netstat -tulpn chkconfig --list chkconfig --list | grep 3:on last w
arp -e route /sbin/route -nee
dump 系统流量,分析数据:
tcpdump tcp dst 192.168.1.7 80 and tcp dst 10.5.5.252 21
命令说明,:
tcpdump tcp dst [ip] [port] and tcp dst [ip] [port]
id who w last cat /etc/passwd | cut -d: -f1 grep -v -E "^#" /etc/passwd | awk -F: ' cat /etc/sudoers sudo -l
用户相关的文件路径:
cat /etc/passwd cat /etc/group cat /etc/shadow ls -alh /var/mail/
用户目录:
root => /root/ other => /home/other
可能包含账号密码信息:
cat /var/apache2/config.inc cat /var/lib/mysql/mysql/user.MYD cat /root/anaconda-ks.cfg
可能存在明文账号密码之类的信息
cat ~/.bash_history cat ~/.nano_history cat ~/.atftp_history cat ~/.mysql_history cat ~/.php_history
这里整理的也许不全,不过该收集的信息也基本差不多了,在此信息基础上,获取更多其他系统权限或者系统本身的权限,都有一定的知道意义,可以针对性的去寻找可以利用的 EXP 直接提升权限,或者利用系统的配置问题,间接提升权限都是可以的。