Linux信息收集


Linux信息收集

主机发现

nmap -sN 192.168.110.0/24

系统识别

nmap -O 192.168.110.202

端口扫描

最全扫描

nmap –T4 –A –v -p- 192.168.110.149

-A 选项用于使用进攻性(Aggressive)方式扫描;

-T4 指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4;

-v 表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态。

-p- 表示扫描所有的端口

寻找登录授权页面

nmap -p 80 --script http-auth-finder 

SSH爆破

nmap -p22 --script ssh-brute 

dns 域传送漏洞

nmap -p 53 --script dns-zone-transfer.nse -v 

masscan快扫

Masscan 127.0.0.0/24 -p443  # 单端口扫描
Masscan 127.0.0.0/24 --top-ports 100 -rate 100000  # 快速扫描
Masscan 127.0.0.0/24 --top-ports 100 --excludefile exclude.txt # 排除指定目标
masscan 127.0.0.0/24 -p20,21,22,23,80,161,443,873,2181,3389,6379,7001,8000,8009,8080,9000,9009,9090,9200,9300,10000,50070 > results.txt

内核版本

uname -a
uname -mrs(详情)
rpm -q kernel
dmesg | grep Linux
ls /boot | grep vmlinuz-

找到内核版本就可以去搜索有关的提权漏洞,比如脏牛提权等

SUID

不同Linux版本不太一致,一个个试即可

find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000-print2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;

-perm 匹配权限
4000 2000 1000分别表示 SUID SGID SBIT
-user root 查看具有root用户权限的SUID文件
2>/dev/null 表示:把错误输出到 “黑洞”。
-u = s 表示查找root用户拥有的文件
-type 表示我们正在寻找的文件类型
f 表示常规文件,而不是目录或特殊文件

找到这些二进制文件后在https://gtfobins.github.io/上找提权方法

SUDOER配置

sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440。

查看当前用户执行哪些 sudo 命令无需密码

cat /etc/sudoers
或者
sudo -l

同样,找到这些二进制文件后可以在https://gtfobins.github.io/上找提权方法

查看当前用户可用的命令

compgen -c

/etc/passwd

cat /etc/passwd

/etc/shadow(root)

unshadow 或 hashcat 跑 /etc/shadow中的密码hash

开机启动项

chkconfig                   # 查看开机启动服务命令
ls /etc/init.d              # 查看开机启动配置文件命令
cat /etc/rc.local           # 查看 rc 启动文件
crontab -l					# 查看crontab文件
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 /etc/anacrontab
cat /var/spool/cron/crontabs/root

进程列表

ps -aux                     # 列出所有进程以及相关信息命令
ps -ef
top                         # 总览系统全面信息命令,Ctrl + C 退出界面

安装软件\命令

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
ls -aRl /etc/ | awk '$1 ~ /^.*r.*/

日志

~/.bash_history		命令日志
last				查看所有登录过系统的用户和IP
lastlog				记录每个用户最后的登入信息
/var/log/message 	系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 	与安全相关的日志信息
/var/log/maillog 	与邮件相关的日志信息
/var/log/cron 		与定时任务相关的日志信息
/var/log/spooler 	与UUCP和news设备相关的日志信息
/var/log/boot.log 	守护进程启动和停止相关的日志消息
/var/log/wtmp 		该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
/var/log/nginx/access.log	Nginx日志
/var/log/apache2/access_log	Apache日志

敏感文件

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

关键基础设施

路由、网关、DNS

route
ip route        # 显示核心路由表
ip neigh        # 显示邻居表
cat /etc/resolv.conf  # 查看DNS
arp -e

邮件

ls -alh /var/mail/