信息搜集与利用

信息搜集

渗透测试的流程

  1. 确定目标
  2. 信息搜集
  3. 漏洞扫描
  4. 漏洞利用
  5. 形成报告

域名信息的搜集

域名是代替IP地址的方便记忆的字段,域名与IP通过dns解析

whois搜集

whois可以查询到注册人等很多的信息,一下是常用whois网站

https://whois.chinaz.com
http://whoissoft.com
https://whois.cnnic.cn/WelcomeServlet

kali中也有自带的工具可以查询,使用whois命令

whois baidu.com

就可以查到很多信息

有些域名隐藏了这些信息所以可能查询不到

域名反查

可以使用域名反查的工具查询到目标的所有域名注册信息

http://whois.chinaz.com/reverse
https://mwhois.chinaz.com

可以使用邮箱反查,注册人反查,电话反查

第二个是通过域名反查其他注册域名

ICP备案查询

因为国内的所有服务器厂商经过域名注册的时候都要进行ICP备案,所以可以通过ICP备案的信息查询到目标注册人的姓名

一个人只有一个备案号,域名较多会在后面加-1、-2解决,所以如果可以试试猜到目标有多少域名,然后通过备案号查询域名

https://icp.chinaz.com
https://beian88.com

通过公司名获取信息

天眼查可以查询到目标公司的很多信息

https://www.tianyancha.com/

小结

通过以上的方式调查可以获得姓名,邮箱,手机号,邮箱可以用来钓鱼,姓名手机号是社工的基础,可以利用这些信息弄一个自定义的社工字典爆破密码,查询到多个域名可能每个域名的安全等级不一样,可以尝试等级较低的域名,这些域名对应网站可能是部署在同一个服务器上的

子域名信息

子域名就是主域名下的另一个应用或服务的域名,一般是主域名的下一级如www.baidu.com,其中的www就是一个子域名,一般默认是百度首页,域名从右至左等级越来越低

news.baidu.com

map.baidu.com

以上都是百度的子域名百度新闻和百度地图

寻找子域名的方式可以是通过域名进行枚举访问,返回200就是存在,不过一般的子域名都是有特点的,可以通过字典的方式猜解

工具:layer子域名挖掘机

在线网站

https://phpinfo.me/domain/

域名DNS信息

标签信息
AA 记录是最常用类型,将域名指向一个IPv4 地址,如 8.8.8.8
CNAME将域名指向另一个域名地址,与其保持相同解析,如 https://www.dnspod.cn
MX用于邮件服务器,相关参数一般由邮件注册商提供
TXT可填写附加文本信息,常用于域名验证
NS域名服务器记录,可将指定域名交由其他 DNS 服务商解析管理
AAAA将域名指向一个IPv6 地址,如 ffo6:0:0:0:0:0:0:c3

DNS也可以获取很多信息,如真实IP地址等

dbcha.com
sitereport.netcraft.com
jsons.cn/nslookup

也可以使用kali命令

host baidu.com
dig baidu.com

IP信息搜集

DNS解析域名和IP的流程

在这里插入图片描述

使用ping命令可以得到目标IP

ping baidu.com

也可以使用kali中自带的nslookup

nslookup -type="MX"baidu.com
#其中双引号里面的就是dns的包含信息的标签,可以使用默认命令不带type

IP归属地址

http://ipwhois.cnnic.net.cn/

CDN

Content Delivery Network:内容分发网络

简而言之就是如果只有一台主服务器,用户的数量是极其庞大的,那么可以在各个地区弄出一个分服务器,然后用户使用时可以就近就方便原则选择最近的一台分服务器来减少主服务器的负担,只有在这个所谓的分服务器没有内容缓存的时候才会直接访问主服务器
在这里插入图片描述

  1. 当终端用户(北京)向www.a.com下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。

  2. LDNS检查缓存中是否有www.a.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。

  3. 当授权DNS解析www.a.com时,返回域名CNAMEwww.a.tbcdn.com对应IP地址。

  4. 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址。

  5. LDNS获取DNS返回的解析IP地址。

  6. 用户获取解析IP地址。

  7. 用户向获取的IP地址发起对该资源的访问请求。

如果一个网站使用了cdn服务,那么渗透难度将加大,因为我们所渗透的IP并不是目标的IP,而是一个cdn服务商的IP,cdn上有防火墙的措施使渗透难度加大;所以我们需要找到cdn的IP后面对应的真实IP;

如何去找:

  1. 超级ping

    ping.chinaz.com    //使用这个可以看各个地方的网速,如果一致并都比较小就是使用了cdn,并可以探测到多个IP都是cdn的IP
    nslookup    //kali命令;可以查看目标的cdn服务商
    
  2. 历史DNS

    以前并没有使用cdn的技术,可以使用历史dns解析信息去寻找真实IP

    http://dnshistory.org/
    http://toolbar.netcraft.com/site_report?url=
    https://tools.ipip.net/cdn.php
    https://github.com/vincentcox/bypass-firewalls-by-DNS-history
    
  3. 子域名查询

    不是所有的公司所有业务都使用cdn,可以通过子域名的方式去寻找目标真实IP

  4. 国外主机解析

    国外没有相关cdn的节点就会访问到真实IP

    https://asm.ca.com/zh_cn/ping.php
    http://host-tracker.com/
    http://www.webpagetest.org/
    https://dnscheck.pingdom.com/
    
  5. 其他的方式

    fofa

    censys

    邮件

    手机APP抓包:目标公司有手机软件并没有使用cdn技术

    微信服务号抓包:目标微信服务号没有使用cdn技术

端口服务信息

端口扫描思路和代码实现

查看本机端口号

Windows:netstat -aon|findstr 3306

Linux:netstat -an|gr

其他主机端口探测:

telnet 192.168.142.137 80
wget 192.168.142.137 80
nc -vz 192.168.142.137 80-9000        //可以批量扫描

代码实现扫描

import socket, threadingdef TCP_connect(ip, port_number, delay, output):TCPsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)TCPsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)TCPsock.settimeout(delay)try:TCPsock.connect((ip, port_number))output[port_number] = 'Listening'except:output[port_number] = ''def scan_ports(host_ip, delay):threads = []        # To run TCP_connect concurrentlyoutput = {}         # For printing purposes# Spawning threads to scan ports# 先扫10000个端口for i in range(10000):t = threading.Thread(target=TCP_connect, args=(host_ip, i, delay, output))threads.append(t)# Starting threadsfor i in range(10000):threads[i].start()# Locking the script until all threads completefor i in range(10000):threads[i].join()# Printing listening ports from small to largefor i in range(10000):if output[i] == 'Listening':print(str(i) + ': ' + output[i])def main():host_ip = input("Please enter host IP: ")# 超时抛出异常delay = int(input("How many seconds the socket is going to wait until timeout: "))   scan_ports(host_ip, delay)input("Press Any Key to Exit")if __name__ == "__main__":main()

常见的端口及服务

文件共享服务端口
端口号端口说明攻击方向
21/22/69FTP/SFTP文件传输协议允许匿名上传、下载、爆破和嗅探操作
2049NFS服务配置不当
139Samba服务爆破、未授权访问、远程代码和执行
389LDAP目录访问协议注入、允许匿名访问、弱口令
远程连接服务端口
端口号端口说明攻击方向
22SSH远程连接爆破、SSH隧道及内网代理转发、文件爆破
23telnet远程连接爆破、嗅探、弱口令
3389RDP远程桌面连接shift后门(windows server2003一下的系统)爆破
5900VNC弱口令爆破
5632PcAnywhere远程控制服务抓密码代码执行
web应用服务端口
端口号端口说明攻击方向
80/443/8080常见的web服务端口Web攻击、爆破、对应服务器版本漏洞
7001/7002Weblogic控制台Java反序列化、弱口令
8080/8089Jboss/resin/jetty/Jenkins反序列化、控制台弱口令
4848Glassfish控制台弱口令
1352Lotus domino邮件服务弱口令、信息泄露、爆破
10000Webmin-web控制面板弱口令
9090Websphere控制台Java反序列化、弱口令
数据库服务端口
端口号端口说明攻击方向
3306MySQL注入、提权、爆破
1433MSSQL数据库注入、提权、SA弱口令
1521Oracle数据库TNS爆破、注入、反弹shell
5432PostgreSQL数据库爆破、注入、弱口令
27017/27018MongoDB爆破、未授权访问
6379Redis数据库可尝试未授权访问、弱口令爆破
5000Sysbase/DB2数据库爆破、注入
邮件服务端口
端口号端口说明攻击方向
25SMTP邮件服务邮件伪造
110POP3协议爆破、嗅探
143IMAP协议爆破
网络常见协议端口
端口号端口说明攻击方向
53DNS域名系统允许区域传送、DNS劫持、缓存投毒、欺骗
67/68DHCP服务劫持、欺骗
161SNMP协议爆破、搜集目标内网信息
特殊服务端口
端口号端口说明攻击方向
2181Zookeeper服务未授权访问
8069Zabbix服务远程执行、SQL注入
9200/9300ElasticSearch服务远程执行
11211Memcached服务未授权访问
512/513/514Linux Rexec服务爆破、rlogin登录
873Rsync服务匿名访问、文件上传
3690SVN服务SVN泄露、未授权访问
50000SAP Management Console远程执行

工具扫描

NMAP

1)扫描主机(Host Discovery)

2)扫描端口(Port Scanning)

3)探测操作系统、软件版本 (Operating System Detection、Version Detection)

kali中自带namp

使用方式:

#简单扫描
nmap -sP 192.168.142.137
#指定端口或范围扫描:
nmap -p0-65535 192.168.142.137
#探测操作系统:
nmap -O 192.168.142.137
#只进行主机发现,不进行端口扫描
nmap -sn 192.168.40.195/24

IP后面的 /24是什么意思?

掩码的位数。

子网掩码8位,11111111.00000000.00000000.00000000

代表:255.0.0.0(A类IP地址)

子网掩码16位,11111111.11111111.00000000.00000000

代表:255.255.0.0(B类IP地址)

子网掩码24位,11111111.11111111.11111111.00000000

代表:255.255.255.0(C类IP地址)

旁站:和目标网站在同一台服务器但端口不同的其他网站。

C段 :和目标服务器IP处在同一个C段的其它服务器。192.168.25.xx

在线扫描
http://coolaf.com/tool/port

CMS指纹识别

什么是指纹识别

通过关键特征,识别出目标的CMS系统、服务器、开发语言、操作系统、CDN、WAF的类别版本等等。

  • 1、CMS信息:比如Discuz、织梦、帝国CMS、PHPCMS、ECshop等;
  • 2、前端技术:比如HTML5、jquery、bootstrap、Vue、ace等;
  • 3、开发语言:比如PHP、Java、Ruby、Python、C#等;
  • 4、Web服务器:比如Apache、 Nginx、IIS、lighttpd等;
  • 5、应用服务器:比如Tomcat、Jboss、Weblogic、Websphere等;
  • 6、操作系统信息:比如Linux、win2k8、win7、Kali、Centos等;
  • 7、CDN信息:是否使用CDN,如cloudflare、帝联、蓝讯、网宿、七牛云、阿里云等;
  • 8、WAF信息:是否使用WAF,如D盾、云锁、宝塔、安全狗、360等

指纹识别的思路

通过特定的文件代码找到特定的特征

  • 版权信息:在底部,在标题,在源码找

  • 特定文件MD5值

  • 查看网页源代码

  • 通过特定文件分析

    网站目录下都有一个robots.txt文件,用来设置搜索引擎可不可以爬取到该网站的规则

指纹识别的工具

kali中自带的工具whatweb

whatweb -v www.discuz.net

浏览器插件:

whatrunswappalyzer

在线网站:

http://whatweb.bugscaner.com/
http://finger.tidesec.com/

工具

御剑指纹扫描器(需要.NET Framework)
Test404轻量CMS指纹识别 v2.1

另外kali中可直接安装

cmseek -u www.coolshell.cn   //很强大

CDN 指纹识别

CDN指纹识别思路

1、超级ping

2、历史DNS

3、通过子域名查询IP

4、国外主机解析

5、其他

CDN指纹识别工具

  • ping
  • nslookup
  • 超级ping
  • ldb(load balance detector)

国内:

http://cdn.chinaz.com/

国外:

https://www.cdnplanet.com/tools/cdnfinder/

脚本:

https://github.com/boy-hack/w8fuckcdn/

https://github.com/3xp10it/xcdn

WAF指纹识别

什么是WAF

Web Application Firewall Web 应用防火墙

过滤HTTP/HTTPS的请求

WAF作用

  • SQL Injection (SQLi):阻止SQL注入
  • Cross Site Scripting (XSS):阻止跨站脚本攻击
  • Local File Inclusion (LFI):阻止利用本地文件包含漏洞进行攻击
  • Remote File Inclusione(RFI):阻止利用远程文件包含漏洞进行攻击
  • Remote Code Execution (RCE):阻止利用远程命令执行漏洞进行攻击
  • PHP Code Injectiod:阻止PHP代码注入
  • HTTP Protocol Violations:阻止违反HTTP协议的恶意访问
  • HTTPoxy:阻止利用远程代理感染漏洞进行攻击
  • Sshllshock:阻止利用Shellshock漏洞进行攻击
  • Session Fixation:阻止利用Session会话ID不变的漏洞进行攻击
  • Scanner Detection:阻止黑客扫描网站
  • Metadata/Error Leakages:阻止源代码/错误信息泄露
  • Project Honey Pot Blacklist:蜜罐项目黑名单
  • GeoIP Country Blocking:根据判断IP地址归属地来进行IP阻断

常见WAF厂商

各种云:阿里云、腾讯云、华为云、百度云……

安全狗、宝塔、360、知道创宇、长亭、安恒……

宝塔:

在这里插入图片描述

安全狗:

在这里插入图片描述

腾讯云:

在这里插入图片描述

阿里云:

在这里插入图片描述

WAF指纹识别思路

  • 额外的cookie;
  • 任何响应或请求的附加标头;
  • 响应内容(如果被阻止请求);
  • 响应代码(如果被阻止请求);
  • IP地址(云WAF);
  • JS客户端模块(客户端WAF)

指纹库:

https://github.com/CSecGroup/wafid/blob/master/finger.xml

如何触发拦截

使用特定攻击特征字符串

xsstring = '' 
sqlistring = "UNION SELECT ALL FROM information_schema AND ' or SLEEP(5) or '"
lfistring = '../../../../etc/passwd' 
rcestring = '/bin/cat /etc/passwd; ping 127.0.0.1; curl google.com' 
xxestring = ']>&hack;'

WAF指纹识别工具

kali自带

wafw00f https://www.12306.cn

namp

nmap www.12306.cn --script=http-waf-detect.nse

sqlmap

sqlmap -u "xxx.com?id=1" --identify-waf

其他

https://github.com/0xInfection/Awesome-WAF

搜索引擎收集信息

google高级搜索Google Hacking

运算符

完整匹配:“”

剔除不需要的内容: -

任意字符:批发 OR 特价

高级语法

功能语法
只搜索某个网站的内容site:zhihu.com
网页的内容包括allintext: Powered by Discuz
intext: Powered by Discuz
标题出现allintitle: 后台登录
intitle: 后台登录
URL地址包括allinurl: admin.php
inurl: index.php?id=1
文件类型指定filetype:pdf

可以结合使用

google语法库:

https://www.exploit-db.com/google-hacking-database
https://github.com/BullsEye0/google_dork_list

网络空间搜索引擎

网络空间包含网络设备如主机,摄像头,打印机等,空间搜索引擎可以搜索到这些设备

最早的网络空间搜索引擎Shodan

shodan.io

付费功能可以在淘宝买会员得到

kali中可以直接使用

入侵示例

ld246.com/article/1544157102767

工具:

https://github.com/jakejarvis/awesome-shodan-queries (语法)
https://github.com/random-robbie/My-Shodan-Scripts (python脚本)

命令:

命令英文解释
alertManage the network alerts for your account管理账户的网络提示
convertConvert the given input data file into a…转换输入文件
countReturns the number of results for a search返回查询结果数量
downloadDownload search results and save them in a…下载查询结果到文件
honeyscoreCheck whether the IP is a honeypot or not检查 IP 是否为蜜罐
hostView all available information for an IP…显示一个 IP 所有可用的详细信息
infoShows general information about your account显示账户的一般信息
initInitialize the Shodan command-line初始化命令行
myipPrint your external IP address输出用户当前公网IP
parseExtract information out of compressed JSON…解析提取压缩的JSON信息,即使用download下载的数据
scanScan an IP/ netblock using Shodan使用 Shodan 扫描一个IP或者网段
searchSearch the Shodan database查询Shodan 数据库
statsProvide summary information about a search…提供搜索结果的概要信息
streamStream data in real-time实时显示

用法示例:

shodan host 172.67.167.88
shodan count apache
shodan count vuln:cve-2019-0708
shodan search --fields ip_str,port,org,hostnames microsoft iis 6.0
shodan stats port:445 SMB
shodan download --limit -1 test net:172.67.167.88/24

其他工具

  • Censys

    censys.io
    

    不收费,收录了证书

  • ZoomEye-钟馗之眼

    网络空间资源测绘,搜索引擎是Xmap

  • Fofa

    fofa.so
    
https://www.knowledgenile.com/blogs/top-osint-tools-2021/
https://securitytrails.com/blog/osint-tools

基于网络空间所有引擎的工具

https://github.com/knownsec/Kunyu
https://github.com/coco413/DiscoverTarget
https://github.com/saucer-man/saucerframe

目录扫描


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部