一、基础信息收集
1.查看系统类型
- cat /etc/issue
- cat /etc/*-release
- cat /etc/lsb-release
- cat /etc/redhat-release
2.内核版本
- cat /proc version
- uname -a
- uname -mrs
- rpm -q kernel
- dmesg |grep Linux
- ls /root |grep vmlinuz
3.进程与服务
- ps aux
- ps -ef
- top
- cat /etc/service
4.安装的应用程序
- dpkg -l
- rpm -qa
5.服务配置
- cat /etc/syslog.conf
- cat /etc/chttp.conf
- cat /etc/lighttpd.cnf
- 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
6.计划任务
- 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 /etc/anacrontab
- cat /var/spool/cron/crontabs/root
7.网络配置
- cat /etc/network/interfaces
- cat /etc/sysconfig/network
- cat /etc/resolv.conf
- cat /etc/sysconfig/network
- cat /etc/networks
- iptables -L
- hostname
- dnsdomainname
8.网络通信
- netstat -antup
- netstat -antpx
- netstat -tulpn
- arp -e
- route
9.用户信息
- id
- who
- w
- last
- cat /etc/sudoers
- cat /etc/passwd
- cat /etc/group
- cat /etc/shadow
- history
- cat ~/.bash_history
- cat ~/.nano_history
- cat ~/.atftp_history
- cat ~/.mysql_history
- cat ~/.php_history
- 设置不良记录 unset HISFILE (键盘记录)
10.日志收集
- /etc/httpd/logs/*
- /var/log/*
- /var/run/utmp
11.可能用于提权的程序
- 查找有suid位或sgid位的程序
- find / -perm -g =s -o -perm -u=s -type f 2>/dev/null
- 查找能写或进入的目录
- find / -writable -type d 2 > /dev/null
- find / -perm -o+w -type d 2 > /dev/null
- find / -perm -o+x -type d 2 > /dev/null
二、扩散信息收集
1.网络拓扑分析
分析内网拓扑可以从多个角度入手,一般来说我们可以:
- 主动扫描
使用nmap、netdiscover、ping等工具扫描内网存活主机
被动嗅探数据包
分析流经本机的流量(arp、smb、netbios)等等
本机留下的信息
可能有管理员留下的内网拓扑图等信息
2.主动扫描
使用ping一条命令扫描存活主机
Windows:
for/l %i in(1,1,255) do @ping 192.168.1.%i -w 1 -n 1 | find /i "ttl"
Linux:
for i in {3..254}; do ping -c 1 192.168.1.$i &>/dev/null && echo 192.168.1.$i is alive;done
优点:系统自带,非常方便,一般也不会引起一些流量监测设备的报警
缺点:扫描速度慢,目标打开防火墙会导致结果不准确
使用nmap扫描存活主机(icmp扫描)
nmap -sn -PE -n -min-parallelism 1024 -oX result.xml 192.168.1.1/24 -v
-sn不进行端口扫描
-PE icmp echo扫描
-n不进行反向解析
-min-parallelism设置最小的探针数量,可以提高效率
-oX以xml格式输出
192.168.1.1/24目标网段
-v输出调试信息
使用nmap扫描存活主机(arp扫描)
nmap命令:
nmap -sn -n -PR 192.168.0.1/24 -v
这里的参数-PR代表使用arp扫描。在内网当中,arp扫描速度最快而且准确率也不错
使用netdiscover扫描
netdiscover是一个arp扫描工具,既可以主动扫描也可以被动嗅探。
netdiscover -i eth0 -r 192.168.17.1/24
参数解释:
-i指定一个接口
-r指定扫描的范围
3.端口及服务探测
使用nmap探测目标操作系统
最简单的命令:
nmap -Pn -n -O 192.168.1.1 -v
这里的-0参数可以探测操作系统版本。除此之外,我们还可以通过一些NSE脚本来探测目标操作系统。NSE是nmap提供的强大脚本引擎。Nmap发行版自带了数百个nse脚本,功能丰富,例如有探测服务、暴力破解,目录扫描、Fuzz等等功能。
下面我们介绍一个脚本:smb-os-discovery.nse这个脚本通过smb来探测操作系统版本、计算机名、工作组名、域名等等信息。使用方法如下:
nmap --script smb-os-discovery.nse -p445 192.168.17.153 -v
4.Nmap NSE Script
前面简单地介绍了一下nse脚本,下面我们来进一步地学习使用nse脚本进行信息收集。
Nmap提供了一些脚本的操作参数:
-script=default 使用默认脚本
-script <script name> 使用指定的脚本
-script-args arg1=value1 向脚本传递参数
-script-args-file 使用文件为脚本提供参数
-script-trace 可以看到脚本发送和接收的数据
-script-updatedb 更新脚本数据库script-help显示脚本帮助
Auth 处理认证的脚本
Broadcast 扫描各种服务,例如snmp,dns等等Brute 暴力破解
Default 默认脚本,提供基础的扫描Discovery网络探测,可以对某些服务做进一步扫描,例如枚举smb用户Dos拒绝服务 攻击
Exploit 漏洞利用
External 利用其它的一些资源
Fuzzer 模糊测试
Intrusive 入侵脚本
Malware 检查后门、病毒等
Safe 检测安全性的脚本
Version 增强版本检测功能
Vuln 检测是否有常见的漏洞等
Nse脚本搜索工具:https://github.com/JKO/nsearch
NSE Script应用举例:
枚举smb共享
NSE脚本:smb-enum-shares.nse
命令:
nmap --script smb-enum-shares.nse -p 445 192.168.17.153
检测域传送漏洞
NSE脚本:dns-zone-transfer
命令:
nmap --script dns-zone-transfer--script-args dns-zone-transfer.domain=360sec.com -p 53 -Pn ns1.360sec.com
5.被动嗅探数据包
Netdiscover
前面介绍了使用这款工具进行主动扫描。这里我们介绍一下使用它来被动嗅探。进入被动嗅探模式只需要加上-p参数即可:
netdiscover -i eth0 -r 192.168.17.1/24 -p
工具推荐:Responder
项目地址:https://github.com/SpiderLabs/Responder
这款工具能够伪装成一些常见的服务,比如smb,web,dhcp等等。我们可以用它来嗅探密码,进行中间人攻击等等。
举例:
python Responder.py -I eth0 -A -f