外围信息搜集
-
通过DNS和IP地址挖掘目标网络信息
- whois域名注册信息查询
-
通过nslookup和dig域名查询
- nslookup得到DNS解析服务器保存在Cache中的非权威解答
- dig可以从域名的官方DNS服务器上查询到精确的权威解答
dig @<DNS服务器><待查询的域名>
面对一些采用分布式服务器和CDN技术技术的大型网站,使用nslookup查询到的结果往往会和dig命令查询道德权威解答不一样,在不同网络位置进行查询将有助于发现那些大型网站所使用的IP地址列表,从而确定所使用的服务器集群范围。
3. IP2Location地理位置查询
GeoIP: http://www.maxmind.com
经纬度: https://maps.google.com
国内IP查询: http://www/cz888.net
netcraft查询: http://toolbar.netcraft.com/site_report
4. IP2Domain
当目标是虚拟主机,那么通过IP反查。一台服务器上面可能运行多个虚拟主机,这些虚拟主机具有不同的域名,但通常共用一个IP地址。可以通过旁注进行攻击。
IP反查: http://www.ip-address.com/reverse_ip/
国内IP反查: https://www.7c.com/
- 通过搜索引擎进行信息搜集
- Google Hacking技术
Google黑客数据库: http://www.exploit-db.com/google-dorks
- 搜索网站目录结构
metasploit: use auxiliary/scanner/http/dir-scanner
google: parent diretory site:xxx.com
- 检索特定类型的文件
google: site:xxx.com filetype: xls
- 搜索网站中的E-mail 地址
Metasploit: use auxiliary/gather/search_email_collector
set Domain xxx.com
run
- 搜索容易存在sql注入的页面
google: site:xxx.com inurl:login
- 其他
- traceroute
主机探测与端口扫描
- 活跃主机扫描
- ICMP Ping命令
ping -c 5 www.xxx.com
- metasploit的主机发现模块
arp扫描:use auxiliary/scanner/discovery/arp_sweep
set THREAD 50
run
udp扫描:use auxiliary/scanner/discovery/udp_sweep
- 使用nmap进行主机探测
nmap ip: 默认使用ping扫描,并测试80和443端口
nmap -sP ip: 获取网络中存活主机的情况,不会进一步探测主机的详细信息
nmap -Pn ip: 不使用ping扫描
nmap -PU ip: 通过对开放的UDP端口进行探测以确定存活的主机
nmap -sU ip: 探测目标主机开放了那些UDP端口
nmap -sn ip: 仅探测存活主机,不对开放的TCP端口进行扫描
nmap -O ip: 对目标操作系统进行识别
nmap -A ip: 获取更详细的服务和操作系统信息
nmap -sT ip: TCP connect扫描
nmap -sS ip: TCP SYN扫描
nmap -sF/-sX/-sN: 通过发送一些特殊的标志位以避开设备或软件的监测
nmap -sA ip: TCP ACK扫描
nmap -F ip: 快速扫描模式,只扫描在nmap-services中列出的端口
nmap -p<端口范围>
nmap -sV ip: 获取更加详细的服务版本等信息
通常ICMP数据包无法穿透Internet上的网络边界(通常是被防火墙设备过滤掉了)
- 端口扫描与服务类型探测
search portscan
ack: 通过ack扫描的方式对防火墙上未被屏蔽的端口进行探测
ftpbounce:通过FTP bounce攻击的原理对TCP服务进行枚举。
syn:使用发送TCP SYN标志的方式探测开放的端口。
tcp:通过一次完整的TCP链接来判断端口是否开放
xmas:一种更为隐秘的扫描方式,通过发送FIN、PSH和URG标志,能够躲避一些高级的TCP标记探测器的过滤
- 端口扫描功能
open:一个应用程序正在次端口上进行监听
closed:主机已响应,但没有应用程序监听的端口
filtered:Nmap不能确认端口是否开放,但根据相应数据响应猜测该端口可能被防火墙等设备过滤
unfilter:仅在使用ACK扫描时,Nmap无法确定端口是否开放,会归为此类。可以使用其他类型的扫描(如windows扫描、SYN扫描、FIN扫描 )进一步确认端口的信息
- 常见的网络服务扫描
telnet:use auxiliary/scanner/telnet/telnet_version
ssh: use auxiliary/scanner/ssh/ssh_version
oracle:use auxiliary/scanner/oracle/tnslsnr_version
mssql:use auxiliary/scanner/mssql/mssql_ping
- 开放待测探测与利用
获取免费http代理隐藏自己:use auxiliary/scanner/http/open_proxy
- 口令猜测与嗅探
ssh服务 口令猜测:use auxiliary/scanner/ssh/ssh_login
psnuffle口令嗅探: use auxiliary/scanner/sniffer/psnuffile