web安全之信息收集篇
信息收集
1、网络信息
网络信息就包括网站的厂商、运营商,网站的外网出口、后台、OA。
2、域名信息
通过域名可以查洵网站的所有人、注册商、邮箱等信息 --->Whois
第三方查询,查询子域网如 --->DNSdumpster
不安全因素有:
网站中有相当多的信息,网站本身、各项安全策略、设置等都可能暴露出一些信息。
网站本身的交互通常不囿于单个域名,会和其他子域交互。对于这种情况,可以通过爬取网站,收集站点中的其他子域信息。这些信息通常出现在JavaScript文件、资源文件链接等位置。通过域名可以进行子域名爆破,来寻找脆弱的网站来进行下一步计划。
3、端口信息
- FTP (21/TCP)
-
- 默认用户名密码
anonymous:anonymous
- 暴力破解密码
- VSFTP某版本后门
- 默认用户名密码
- SSH (22/TCP)
-
- 部分版本SSH存在漏洞可枚举用户名
- 暴力破解密码
- Telent (23/TCP)
-
- 暴力破解密码
- 嗅探抓取明文密码
- SMTP (25/TCP)
-
- 无认证时可伪造发件人
- DNS (53/UDP)
-
- 域传送漏洞
- DNS劫持
- DNS缓存投毒
- DNS欺骗
- SPF / DMARC Check
- DDoS
-
- DNS Query Flood
- DNS 反弹
- DNS 隧道
- DHCP 67/68
-
- 劫持/欺骗
- TFTP (69/TCP)
- HTTP (80/TCP)
- Kerberos (88/TCP)
-
- 主要用于监听KDC的票据请求
- 用于进行黄金票据和白银票据的伪造
- POP3 (110/TCP)
-
- 爆破
- RPC (135/TCP)
-
- wmic 服务利用
- NetBIOS (137/UDP & 138/UDP)
-
- 未授权访问
- 弱口令
- NetBIOS / Samba (139/TCP)
-
- 未授权访问
- 弱口令
- SNMP (161/TCP)
-
- Public 弱口令
- LDAP (389/TCP)
-
- 用于域上的权限验证服务
- 匿名访问
- 注入
- HTTPS (443/TCP)
- SMB (445/TCP)
-
- Windows 协议簇,主要功能为文件共享服务
net use \\192.168.1.1 /user:xxx\username password
- Linux Rexec (512/TCP & 513/TCP & 514/TCP)
-
- 弱口令
- Rsync (873/TCP)
-
- 未授权访问
- RPC (1025/TCP)
-
- NFS匿名访问
- Java RMI (1090/TCP & 1099/TCP)
-
- 反序列化远程命令执行漏洞
- MSSQL (1433/TCP)
-
- 弱密码
- 差异备份 GetShell
- SA 提权
- Oracle (1521/TCP)
-
- 弱密码
- NFS (2049/TCP)
-
- 权限设置不当
showmount <host>
- ZooKeeper (2171/TCP & 2375/TCP)
-
- 无身份认证
- Docker Remote API (2375/TCP)
-
- 未限制IP / 未启用TLS身份认证
http://docker.addr:2375/version
- MySQL (3306/TCP)
-
- 弱密码
- 日志写WebShell
- UDF提权
- MOF提权
- RDP / Terminal Services (3389/TCP)
-
- 弱密码
- Postgres (5432/TCP)
-
- 弱密码
- 执行系统命令
- VNC (5900/TCP)
-
- 弱密码
- CouchDB (5984/TCP)
-
- 未授权访问
- WinRM (5985/TCP)
-
- Windows对WS-Management的实现
- 在Vista上需要手动启动,在Windows Server 2008中服务是默认开启的
- Redis (6379/TCP)
-
- 无密码或弱密码
- 绝对路径写 WebShell
- 计划任务反弹 Shell
- 写 SSH 公钥
- 主从复制 RCE
- Windows 写启动项
- Kubernetes API Server (6443/TCP && 10250/TCP)
-
https://Kubernetes:10250/pods
- JDWP (8000/TCP)
-
- 远程命令执行
- ActiveMQ (8061/TCP)
- Jenkin (8080/TCP)
-
- 未授权访问
- Elasticsearch (9200/TCP)
-
- 代码执行
http://es.addr:9200/_plugin/head/
http://es.addr:9200/_nodes
- Memcached (11211/TCP)
-
- 未授权访问
- RabbitMQ (15672/TCP & 15692/TCP & 25672/TCP)
- MongoDB (27017/TCP)
-
- 无密码或弱密码
- Hadoop (50070/TCP & 50075/TCP)
-
- 未授权访问
4、站点信息
4.1 判断网站的操作系统
如果敏感大小写 -->linux
如果不敏感大小写 -->windows
4.2 判断网站所用语言
php/java/python通过后缀php/jsp/asp来判断
4.3 判断网站框架
PHP框架:ThinkPHP、Yii、Laravel、CakePHP、ZendFramework
Python框架:Djiango、Diesel、Flask、Cubes
java web框架:Spring、STRUCTS、Hibernate
4.4 判断中间件
如Apache、Nginx、IIS等,主要从报错和默认界面来判断
4.5 判断Web容器
如Tomcat / Jboss / Weblogic等
4.6 判断网站后台框架
例如wp-admin 就是WordPress
4.7 扫描敏感文件
通过敏感文件扫描器,发现例如备份、mdb、robots.txt等敏感信息。推荐扫描器 -->Dirsearch
5、资产收集(搜索引擎)
通过资产收集来寻找更多的目标站点
搜索引擎有:fofa、Google、shodan、钟馗之眼、360quake
6、社会工程学
通过相关人员信息来生成密码字典进行爆破
钓鱼来获得账号密码等重要信息
web安全之信息收集篇的更多相关文章
- Web应用程序信息收集工具wig
Web应用程序信息收集工具wig 很多网站都使用成熟的Web应用程序构建,如CMS.分析网站所使用的Web应用程序,可以快速发现网站可能存在的漏洞.Kali Linux新增加了一款Web应用程序信 ...
- web渗透系列--信息收集
信息收集对于渗透测试前期来说是非常重要的,因为只有我们掌握了目标网站或目标主机足够多的信息之后,我们才能更好地对其进行漏洞检测.正所谓,知己知彼百战百胜! 信息收集的方式可以分为两种:主动和被动. 主 ...
- 《WEB渗透一.信息收集》
一.操作系统 Windows服务器 和 Linux服务器. 1.大小写敏感 Windows大小写不敏感 , Linux大小写敏感 如 www.xxxx.com/index.php 和 w ...
- linux信息收集篇之sosreport
sosreport是一个类型于supportconfig 的工具,sosreport是python编写的一个工具,适用于centos(和redhat一样,包名为sos).ubuntu(其下包名为sos ...
- 网络安全-主动信息收集篇第二章SNMP扫描
SNMP扫描: snmp在中大型企业中可以用来做网络管理和网络监控的使用,当开启了snmp简单网络管理后,那么客户机就可以通过这个协议向该设备发送snmp协议内容可以轻松查询到目标主机的相关信息. 以 ...
- 网络安全-主动信息收集篇第二章-三层网络发现之ping
第三层网络扫描基于TCP/IP.ICMP协议. 优点:可路由.速度比较快 缺点:相对于二层网络扫描较慢,容易被边界防火墙过滤 所有扫描发现技术,都会有相应的对抗办法,所以无论是来自二层的网络扫描还是来 ...
- 网络安全-主动信息收集篇第二章-二层网络扫描之nmap
nmap是网络层.传输层最重要的扫描工具之一,可以结合脚本对应用层的扫描和对网络弱点发现. 网络层发现nmap使用: Usage: nmap [Scan Type(s)] [Options] {tar ...
- 网络安全-主动信息收集篇第二章-三层网络发现之nmap和fping和Hping
nmap IP -sn nmap当目标IP在同一网段时,nmap会发送ARP包,当目标IP不在同一网段时nmap会发送ICMP的包. fping IP fping -g 参数支持对IP地址起始和结 ...
- 网络安全-主动信息收集篇第二章-二层网络扫描之scapy
scapy是python第三方库文件,可以使用python进行调用也单独进行使用. 非常强大可以用于抓包.分析.创建.修改.注入网络流量. 使用scapy 详细使用方式可以查看github:https ...
随机推荐
- C++分布式系统——《开题》
在下自大二接触编程,大二.大三刻苦涉猎编程相关书籍,自那时起爱上了 C++,C++确实极有魅力,本想从此在C++领域深钻,但是扩展技术的广度在那个算是半只脚踏入编程且已经读完了 C++ 流行书籍的阶段 ...
- javascript 判断变量是否是数组(Array)
过完春节又有好多人寻找新的机会,旁边的人面试完就会分享一些问题,明明会的但是面试的时候,想不全,面试官不满意...这个懊恼的行为,今天的文章跟大家分享下:javascript如何判断便是是数组. 1. ...
- 实现拖拽复制和可排序的react.js组件
在实现复制前,对之前的拖拽排序组件属性进行了修改. 摒弃了value中的content属性,拖拽组件暴露的render函数,利用这个属性进行组件内部子组件的渲染,这点主要是参考了蚂蚁金服的Ant de ...
- python-产生每位数字相同的n位数
读入2个正整数A和B,1<=A<=9, 1<=B<=10,产生数字AA...A,一共B个A 输入格式: 在一行中输入A和B. 输出格式: 在一行中输出整数AA...A,一共B个 ...
- java中匿名内部类的匿名构造函数是怎么用的
java中匿名内部类的匿名构造函数是怎么用的下面的例子说明匿名内部类的匿名构造函数的用法 例2.7.2_0interface FigureMark_to_win { void whoAmI(); ...
- 【Android开发】【数据库】LitePal 数据库的使用
一,导包 dependencies { ...... // LitePal的包 compile 'org.litepal.android:core:1.3.1' ...... } 二,创建bean类 ...
- 【Android开发】Bitmap的质量压缩法
public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputS ...
- ruby 版本管理RVM (ruby version manager)
macOS. 自带的ruby 版本目录权限比较高, 经常有很多 操作需要权限而不能执行 虽然 macOS 自带了一个 ruby 环境,但是是系统自己使用的,所以权限很小,只有 system. 而/Li ...
- 自学java如何快速地达到工作的要求?
自学java如何快速地达到工作的要求,是很多初学者都比较关心的问题,对于初学者来说,盲目自学不但不能快速入门,还会浪费大量的时间. 今天知了堂就来分享自学Java如何快速达到找工作的要求. 1.自学J ...
- 面试官:说一说Zookeeper中Leader选举机制
哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 今天又是一个阳光明媚的一天,我又 ...