什么是信息搜集
信息搜集也称踩点,信息搜集毋庸置疑就是尽可能的搜集目标的信息,包括端口信息、DNS信息、员工邮箱等等看似并不起眼的一些信息都算是信息搜集,这些看似微乎其微的信息,对于渗透测试而言就关乎到成功与否了。
信息搜集的重要性
信息搜集是渗透测试的最重要的阶段,占据整个渗透测试的60%,可见信息搜集的重要性。根据收集的有用信息,可以大大提高我们渗透测试的成功率。
信息搜集的分类
- 主动式信息搜集(可获取到的信息较多,但易被目标发现)
- 通过直接发起与被测目标网络之间的互动来获取相关信息,如通过Nmap扫描目标系统。
- 被动式信息搜集(搜集到的信息较少,但不易被发现)
- 通过第三方服务来获取目标网络相关信息。如通过搜索引擎方式来搜集信息。
信息收集哪些东西
- whois信息
- 子域名
- 旁站
- 端口
- 目录,敏感信息泄露
- C段
- 网站架构
- 判断WAF
- 判断CMS
- 真实IP
- DNS信息
- 社工利用
信息收集流程
网站由域名,服务器,WEB应用组成。
可以先从域名开始
- 域名:whois,备案,子域名等
- 服务器:真实IP,DNS信息,端口,等
- WEB:网站框架,目录信息敏感信息泄露,旁站,C段,WAF,CMS等
- 企业:天眼查,信用信息等
信息收集脑图:
域名信息收集
Whois查询
Whois 简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商、域名注册日期和过期日期、DNS等)。通过域名Whois服务器查询,可以查询域名归属者联系方式,以及注册和到期时间
可以通过whois信息进行反查,邮箱,联系人等信息来反查到更多的信息
查询域名注册邮箱通过域名查询备案号通过备案号查询域名反查注册邮箱反查注册人通过注册人查询到的域名在查询邮箱通过上一步邮箱去查询域名查询以上获取出的域名的子域名
主动查询
kali 自带whois查询 命令:whois + ip/域名
被动查询
- http://tool.chinaz.com/ipwhois/
- http://whois.xinnet.com/
- https://whois.cloud.tencent.com/
- https://site.ip138.com/
- https://www.whois.net/
- aizhan.com/" rel="external nofollow noopenter" > https://whois.aizhan.com/
IP反查
Dnslytics地址: https://dnslytics.com/
利用Dnslytics反查IP可以得到如下信息:
IP informationNetwork informationHosting informationSPAM database lookupOpen TCP/UDP portsBlocklist lookupWhois informationGeo informationCountry informationUpdate information
利用Dnslytics反查域名可以得到如下信息:
Domain and Ranking InformationHosting Information{ A / AAAA Record NS Record MX Record SPF Record}Web InformationWhois Information
浏览器插件
- myip.ms
- TCPIPUTILS
- DNSlytics
子域名收集
子域名收集可以发现更多目标,以增加渗透测试成功的可能性,探测到更多隐藏或遗忘的应用服务,这些应用往往可导致一些严重漏洞。当一个主站坚不可摧时,我们可以尝试从分站入手。
主动收集
- layer子域名挖掘机5.0: aidu.com/s/1wEP_Ysg4qsFbm_k1aoncpg" rel="external nofollow noopenter" > https://pan.baidu.com/s/1wEP_Ysg4qsFbm_k1aoncpg 提取码:uk1j
- subDomainsBrute: ainsBrute" rel="external nofollow noopenter" > https://github.com/lijiejie/subDomainsBrute
- wydomain: ain" rel="external nofollow noopenter" > https://github.com/ring04h/wydomain
- broDomain: ain" rel="external nofollow noopenter" > https://github.com/code-scan/BroDomain
- ESD: https://github.com/FeeiCN/ESD
- aiodnsbrute: aiodnsbrute" rel="external nofollow noopenter" > https://github.com/blark/aiodnsbrute
- OneForAll: https://github.com/shmilylty/OneForAll
- subfinder: https://github.com/projectdiscovery/subfinder
- Sublist3r: https://github.com/aboul3la/Sublist3r
被动收集
- ip138: https://site.ip138.com/
- 站长工具: ain/?domain=" rel="external nofollow noopenter" > http://tool.chinaz.com/subdomain/?domain=
- hackertarget: hackertarget.com/find-dns-host-records/" rel="external nofollow noopenter" > https://hackertarget.com/find-dns-host-records/
- phpinfo: ain/" rel="external nofollow noopenter" > https://phpinfo.me/domain/
- t1h2ua: https://www.t1h2ua.cn/tools/
- dnsdumpster: https://dnsdumpster.com/
- chinacycc: https://d.chinacycc.com/index.php?m=Login&a=index
- zcjun: http://z.zcjun.com/
- 搜索引擎语法site:域名
工具使用
- layer子域名挖掘机5.0: 使用这款工具首先要安装.net framework 4.0以上
备案信息
备案信息分为两种,一种是IPC备案信息查询,一种是公安部备案信息查询。如果是国外的服务器是不需要备案的,因此可以忽略此步骤,国内的服务器是需要备案的,因此可以尝试获取信息。
被动收集
- ICP备案查询网: http://www.beianbeian.com/
- ICP备案查询-站长工具: http://icp.chinaz.com/
- SEO综合查询-爱站: aizhan.com/cha/" rel="external nofollow noopenter" > https://www.aizhan.com/cha/
- 批量查询-站长工具: http://icp.chinaz.com/searchs
- 美国企业备案查询: https://www.sec.gov/edgar/searchedgar/companysearch.html
- 公安部备案查询: http://www.beian.gov.cn/portal/recordQuery
主动收集
- 社工
- 服务器信息收集
DNS信息收集
通过查询DNS信息,我们可能可以发现网站的真实ip地址,也可以尝试测试是否存在DNS域传送漏洞。
主动收集
- Kali(host、big命令)
- windows(nslookup命令)
被动收集
- dnsdb: https://www.dnsdb.io/zh-cn/
- viewdns: https://viewdns.info/
- 站长工具: http://tool.chinaz.com/dns/
- tool: https://tool.lu/dns/
端口信息收集
主动收集
- Nmap: https://github.com/nmap/nmap
- Masscan: https://github.com/robertdavidgraham/masscan
- masnmapscan: https://github.com/hellogoldsnakeman/masnmapscan-V1.0
- ZMap: https://github.com/zmap/zmap
被动收集
- FOFA: https://fofa.so/
- 钟馗之眼: https://www.zoomeye.org/
- shodan: https://www.shodan.io/
浏览器插件
- Shodan
- TCPIPUTILS
- DNSlytics
- fofa-view
工具使用
Nmap 扫描多个ip
扫描整个子网 nmap 192.168.6.1/24 nmap 192.168.1.1/16 nmap 192.168.1-30.1-254 nmap 192.168.1-254.6扫描多个主机 namp 192.168.6.2 192.168.6.6扫描一个小范围 nmap 192.168.6.2-10扫描txt内的ip列表 nmap -iL text.txt扫描除某个目标外 nmap 192.168.6.1/24 -exclude 192.168.6.25
- 绕过Firewalld扫描主机端口:
通过不同的协议(TCP半连接、TCP全连接、ICMP、UDP等)的扫描绕过Firewalld的限制
nmap -sP 192.33.6.128nmap -sT 192.33.6.128nmap -sS 192.33.6.128nmap -sU 192.33.6.128nmap -sF 192.33.6.128nmap -sX 192.33.6.128nmap -sN 192.33.6.128
初步扫描端口信息
nmap -T4 -A -v -Pn 192.168.1.1/24 -p 21,22,23,25,80,81,82,83,88,110,143,443,445,512,513,514,1433,1521,2082,2083,2181,2601,2604,3128,3306,3389,3690,4848,5432,5900,5984,6379,7001,7002,8069,8080,8081,8086,8088,9200,9300,11211,10000,27017,27018,50000,50030,50070 -oN nmap_result.txt
扫描端口并且标记可以爆破的服务
nmap 127.0.0.1 --script=ftp-brute,imap-brute,smtp-brute,pop3-brute,mongodb-brute,redis-brute,ms-sql-brute,rlogin-brute,rsync-brute,mysql-brute,pgsql-brute,oracle-sid-brute,oracle-brute,rtsp-url-brute,snmp-brute,svn-brute,telnet-brute,vnc-brute,xmpp-brute
判断常见的漏洞并扫描端口
nmap 127.0.0.1 --script=auth,vuln
精确判断漏洞并扫描端口
nmap 127.0.0.1 --script=dns-zone-transfer,ftp-anon,ftp-proftpd-backdoor,ftp-vsftpd-backdoor,ftp-vuln-cve2010-4221,http-backup-finder,http-cisco-anyconnect,http-iis-short-name-brute,http-put,http-php-version,http-shellshock,http-robots.txt,http-svn-enum,http-webdav-scan,iis-buffer-overflow,iax2-version,memcached-info,mongodb-info,msrpc-enum,ms-sql-info,mysql-info,nrpe-enum,pptp-version,redis-info,rpcinfo,samba-vuln-cve-2012-1182,smb-vuln-ms08-067,smb-vuln-ms17-010,snmp-info,sshv1,xmpp-info,tftp-enum,teamspeak2-version
Masscan+Nmap
有些时候网站的入口点属于非常规端口,因此是必须要做全端口扫描,做全端口扫描的时候由于namp发包量大经常出现各种问题,如端口扫描不全、获得信息不准等等,为了解决上述问题,这里提供一个masscan+nmap结合的方式进行快速扫描。
原理:使用masscan做全端口开放检测,检测出来端口信息后,用nmap进行服务信息识别。
- 1
- 2
- 3
// 终端输入以下命令执行即可
masscan 192.33.6.145 -p1-65535 --rate 1000 -oL ports# ports=$(cat ports | awk -F " " '{print $3}' | sort -n | tr '\\n' ',' | sed 's/,$//' | sed 's/^,,//')
nmap -sV -p $ports 192.33.6.145
一些常见端口渗透用途汇总:
端口号 | 端口服务/协议简要说明 | 关于端口可能的一些渗透用途 |
---|---|---|
tcp 20,21 | ftp 默认的数据和命令传输端口[可明文亦可加密传输] | 允许匿名的上传下载,爆破,嗅探,win提权,远程执行(proftpd 1.3.5),各类后门(proftpd,vsftp 2.3.4) |
tcp 22 | ssh[数据ssl加密传输] | 可根据已搜集到的信息尝试爆破,v1版本可中间人,ssh隧道及内网代理转发,文件传输,等等…常用于linux远程管理… |
tcp 23 | telnet[明文传输] | 爆破,嗅探,一般常用于路由,交换登陆,可尝试弱口令,也许会有意想不到的收获 |
tcp 25 | smtp[简单邮件传输协议,多数linux发行版可能会默认开启此服务] | 邮件伪造,vrfy/expn 查询邮件用户信息,可使用smtp-user-enum工具来自动跑 |
tcp/udp 53 | dns[域名解析] | 允许区域传送,dns劫持,缓存投毒,欺骗以及各种基于dns隧道的远控 |
tcp/udp 69 | tftp[简单文件传输协议,无认证] | 尝试下载目标及其的各类重要配置文件 |
tcp 110 | [邮局协议,可明文可密文] | 可尝试爆破,嗅探 |
tcp 143 | imap[可明文可密文] | 可尝试爆破 |
udp 161 | snmp[明文] | 爆破默认团队字符串,搜集目标内网信息 |
tcp 389 | ldap[轻量级目录访问协议] | ldap注入,允许匿名访问,弱口令 |
tcp 873 | rsync备份服务 | 匿名访问,文件上传 |
tcp 1194 | openvpn | 想办法钓vpn账号,进内网 |
tcp 1352 | Lotus domino邮件服务 | 弱口令,信息泄漏,爆破 |
tcp 1433 | mssql数据库 | 注入,提权,sa弱口令,爆破 |
tcp 1521 | oracle数据库 | tns爆破,注入,弹shell… |
tcp 1500 | ispmanager | 主机控制面板 弱口令 |
tcp 1723 | pptp | 爆破,想办法钓vpn账号,进内网 |
tcp 2181 | zookeeper | 未授权访问 |
tcp 3128 | squid代理服务 | 弱口令 |
tcp 3306 | mysql数据库 | 注入,提权,爆破 |
tcp 3389 | windows | rdp远程桌面 shift后门[需要03以下的系统],爆破,ms12-020[蓝屏exp] |
tcp 4848 | glassfish控制台 | 弱口令 |
tcp 4899 | radmin远程桌面管理工具,现在已经非常非常少了 | 抓密码拓展机器 |
tcp 5000 | sybase/DB2数据库 | 爆破,注入 |
tcp 5432 | postgresql数据库 | 爆破,注入,弱口令 |
tcp 5632 | pcanywhere远程桌面管理工具 | 抓密码,代码执行,已经快退出历史舞台了 |
tcp 5984 | CouchDB | 未授权导致的任意指令执行 |
tcp 6379 | redis未授权 | 可尝试未授权访问,弱口令爆破 |
tcp 7778 | kloxo | 主机面板登录 |
tcp 8000 | Ajenti主机控制面板 | 弱口令 |
tcp 8443 | plesk主机控制面板 | 弱口令 |
tcp 8069 | zabbix | 远程执行,sql注入 |
tcp 10000 | webmin | linux主机web控制面板入口 弱口令 |
tcp 11211 | memcached | 未授权访问 |
tcp 3690 | svn服务 | svn泄露,未授权访问 |
tcp 50000 | SAP Management Console | 远程执行 |
tcp 80-89,443,8440-8450,8080-8089 | web[各种常用的web服务端口] | 各种常用web服务端口,可尝试经典的top n,vpn,owa,webmail,目标oa,各类java控制台,各类服务器web管理面板,各类web中间件漏洞利用,各类web框架漏洞利用等等…… |
tcp 137,139,445 | samba[smb实现windows和linux间文件共享,明文] | 可尝试爆破以及smb自身的各种远程执行类漏洞利用,如,ms08-067,ms17-010,嗅探等…… |
tcp 512,513,514 | linux rexec | 可爆破,rlogin登陆 |
tcp 1025,111,2049 | nfs | 权限配置不当 |
tcp 2082,2083 | cpanel主机管理面板登录 | 弱口令 |
tcp 2601,2604 | zebra路由 | 默认密码zerbra |
tcp 3312,3311 | kangle主机管理登录 | 弱口令 |
tcp 5900,5901,5902 | vnc远程桌面管理工具 | 弱口令爆破,如果信息搜集不到位,成功几率很小 |
tcp 7001,7002 | weblogic控制台 | java反序列化,弱口令 |
tcp 8080-8089 | Jenkins,jboss | 反序列化,控制台弱口令 |
tcp 9080-9081,9090 | websphere控制台 | java反序列化/弱口令 |
tcp 9200,9300 | elasticsearch | 远程执行 |
tcp 27017,27018 | mongodb | 爆破,未授权访问 |
tcp 50070,50030 | hadoop | 默认端口未授权访问 |
端口利用总结
21端口渗透解析
介绍:Ftp一般是用于对远程服务器进行管理,大多数都用于对Web系统进行管理。一般密码泄露是直接威胁Web 系统安全 的,一旦让黑客知道是可以通过提权直接控制服务器。
- 爆破:Ftp爆破工具很多,如你所使用的系统为Kali,这里我推荐hydra(九头蛇)以及metasploit(msf)中的ftp爆破模块。因为Kali下集成了hydra和msf。
- Ftp匿名访问:有些小白会选择一些小型的主机服务商,这些服务商Ftp服务默认都是匿名可登陆。例如:用户名:admin,密码:空或者任意邮箱等。
- 后门vsftpd:version 2到2.3.4都存在了后门漏洞,黑客可以通过该漏洞获取ROOT权限。这里推荐msf下的exploit/unix/ftp/vsftpd_234_backdoor模块。
- 嗅探:如Ftp使用明文传输技术,可以使用Cain进行渗透。但是要存在于同一局域网,并且需要用到欺骗技术,且已经监听网关。
- Ftp远程代码溢出:推荐使用nmap扫描Ftp版本号,使用msf搜索(searc)对应模块。
22端口渗透解析
介绍:SSH是协议,是使用在协议应用上的,SSH是Secure Shell的缩写。有IETF的网络工作小组所制定;SSH是建立在应用层和传输层基础上的安全协议。
- 弱口令:推荐使用hydra(九头蛇)或msf中的ssh爆破模块。
- 防火墙SSH后门
- 退格 OpenSSL
- Openssh 用户枚举 例如:CVE-2018-15473。
23端口渗透解析
介绍:Telnet是一种很老的远程管理方式,使用telnet工具登陆系统的过程中,网络上的传输用户和密码都是以明文的方式去传送的,所以这是一种很不安全的管理方式,黑客可以使用嗅探技术进行劫取此类密码等。
- 爆破:暴力破解技术是 黑客技术 中最常见的技术,推荐使用hydra或者msf中的telnet模块进行暴力破解。
- 嗅探:在Linux系统里面一般是采用SSH进行远程连接访问的,传输的敏感数据都是进行加密的。但是对于windows下的telnet是脆弱的,因为在windows中是默认没有经过任何加密就在网络中进行传输,可以使用cain等嗅探工具进行截获密文对其远程控制。
- 绕口令:弱口令大部分用于大批量的爆破,对单个主机,推荐使用暴力破解。
25/465端口渗透解析
介绍:smtp:邮箱协议,在linux中是默认回开启这个服务的,是一个相对简单的基于文本的协议。smtps:这是smtp协议基于ssl安全协议之上的一种变种协议。它继承了ssl安全协议的非对称的加密。我对smtps协议也很头疼所以给不出太多的建议。
- 爆破
- 弱口令
- 未授权访问
- 钓鱼