信息打点--主机架构

服务器端口扫描

服务器分类

Web服务器:主要负责处理http请求,并返回静态页面;通常只处理http和https协议

例如:Apache、Nginx、IIS、lighttpd等

应用服务器:处理业务逻辑,根据客户端的要求,从数据库或其他数据源获取数据,并将其转化为动态内容,然后返回给客户端;如http,tcp等

例如:Tomcat、Jboss、Weblogic、Websphere等

端口以及渗透用途

端口服务渗透用途

TCP

20,21

FTP允许匿名的上传下载,爆破,嗅探,win 提权,远程执行(proftpd 1.3.5),各类后门(proftpd,vsftp 2.3.4)
TCP 22SSH可根据已搜集到的信息尝试爆破,v1 版本可中间人,ssh 隧道及 内网代理转发,文件传输等等
TCP 23Telnet爆破,嗅探,一般常用于路由,交换登陆,可尝试弱口令

TCP

25

SMTP邮件伪造,vrfy/expn 查询邮件用户信息,可使用 smtp-userenum 工具来自动跑
TCP/TDP 53DNS允许区域传送,dns 劫持,缓存投毒,欺骗以及各种基于 dns 隧道 的远控

TCP 80-89,443,

8440-8450,

8080-8089

各种常用的 Web 服务端 口可尝试经典的 topn,vpn,owa,webmail,目标 oa,各类 Java 控制 台,各类服务器 Web 管理面板,各类 Web 中间件漏洞利用,各 类 Web 框架漏洞利用等等……
TCP 110POP3可尝试爆破,嗅探
TCP 111,2049NFS权限配置不当
TCP 137,139,445Samba可尝试爆破以及 smb 自身的各种远程执行类漏洞利用, 如,ms08-067,ms17-010,嗅探等……
TCP 143IMAP可尝试爆破
UDP 161SNMP爆破默认团队字符串,搜集目标内网信息
TCP 389LDAPldap 注入,允许匿名访问,弱口令
TCP 512,513,514Linux rexec可爆破,rlogin 登陆
TCP 873Rsync匿名访问,文件上传
TCP 1194OpenVPN想办法钓 VPN 账号,进内网
TCP 1352Lotus弱口令,信息泄漏,爆破
TCP 1433SQL Server注入,提权,sa 弱口令,爆破
TCP 1521Oracletns 爆破,注入,弹 shell…
TCP 1500ISPmanager弱口令
TCP 1723PPTP爆破,想办法钓 VPN 账号,进内网
TCP 2082,2083cPanel弱口令
TCP 2181ZooKeeper未授权访问
TCP 2601,2604Zebra默认密码 zerbra
TCP 3128Squid弱口令
TCP 3312,3311kangle弱口令
TCP 3306MySQL注入,提权,爆破
TCP 3389Windows rdpshift 后门[需要 03 以下的系统],爆破,ms12-020
TCP 3690SVNsvn 泄露,未授权访问
TCP 4848GlassFish弱口令
TCP 5000Sybase/DB2爆破,注入
TCP 5432PostgreSQL爆破,注入,弱口令
TCP 5900,5901,5 902VNC弱口令爆破
TCP 5984CouchDB未授权导致的任意指令执行
TCP 6379Redis可尝试未授权访问,弱口令爆破
TCP 7001,7002WebLogicJava 反序列化,弱口令
TCP 7778Kloxo主机面板登录
TCP 8000Ajenti弱口令
TCP 8009tomcat AjpTomcat-Ajp 协议漏洞
TCP 8443Plesk弱口令
TCP 8069Zabbix远程执行,SQL 注入
TCP 8080- 8089Jenkins,JBoss反序列化,控制台弱口令
TCP 9080- 9081,9090WebSphereJava 反序列化/弱口令
TCP 9200,9300ElasticSearch远程执行
TCP 11211Memcached未授权访问
TCP 27017,27018MongoDB爆破,未授权访问
TCP 50070,50030Hadoop默认端口未授权访问

探针类型

web中间件探针

应用中间件探针

数据库类型探针

其他服务探针

端口扫描

nmap

https://nmap.org/download.html

开放状态

Close 关闭

Open 打开

Filtered  防火墙拦截

常用扫描

基本扫描: nmap www.xiaodi8.com

单端口扫描:nmap www.xiaodi8.com -p80

多端口扫描:nmap www.xiaodi8.com -p80,8080

扫描一系列端口:nmap www.xiaodi8.com -p 10-21

ping扫描: nmap -sP 192.168.33.180

路由追踪: nmap -sP --traceroute www.xiaodi8.com

扫描网段,C段: nmap -sP 192.168.33.180/24

namp万能开关:nmap -A 192.168.33.180(包含了端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测)

扫描服务和版本:  nmap -sV 112.46.132.23

使用UDP扫描:nmap -PU 112.46.132.23

反向解析域名:nmap -R 112.46.132.23

参数详解

-sT             TCP connect()扫描,在目标主机的日志中记录大批连接请求和错误信息。
-sS             半开扫描,很少有系统能把它记入系统日志。
-sF  -sN     秘密FIN数据包扫描、Xmas Tree、Null扫描模式
-sP             ping扫描,Nmap默认都会使用ping扫描,只有主机存活,才会继续扫描。
-sU             UDP扫描,是不可靠的
-sA             通常用来穿过防火墙的规则集
-sV             探测端口服务版本
-Pn             扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描
-v             显示扫描过程,推荐使用
-h             帮助选项,是最清楚的帮助文档
-p             指定端口,如“1-65535、1433、135、22、80”等
-O             启用远程操作系统检测,存在误报
-A             全面系统检测、启用脚本检测、扫描等
-oN/-oX/-oG     将报告写入文件,分别是正常、XML、grepable 三种格式
-T4             针对TCP端口禁止动态扫描延迟超过10ms
-iL             读取主机列表,例如,“-iL C  \ip.txt”
-iflist      查看本地主机的接口信息和路由信息
-A           选项用于使用进攻性方式扫描
-T4          指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,推荐使用T4
-oX test.xml 将扫描结果生成 test.xml 文件,如果中断,则结果打不开
-oA test.xml 将扫描结果生成 test.xml 文件,中断后,结果也可保存
-oG test.txt 将扫描结果生成 test.txt 文件
-sn         只进行主机发现,不进行端口扫描
-O          指定Nmap进行系统版本扫描
-sV         指定让Nmap进行服务版本扫描
-p <port ranges>   扫描指定的端口
-sS/sT/sA/sW/sM  指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描
-sU         指定使用UDP扫描方式确定目标主机的UDP端口状况
-script <script name>    指定扫描脚本
-Pn         不进行ping扫描
-sP         用ping扫描判断主机是否存活,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping
-PI         设置这个选项,让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。
-iL 1.txt    批量扫描1.txt中的目标地址
-sL          List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现
-sY/sZ       使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况
-sO         使用IP protocol 扫描确定目标机支持的协议类型
-PO         使用IP协议包探测对方主机是否开启
-PE/PP/PM    使用ICMP echo、 ICMP timestamp、ICMP netmask 请求包发现主机
-PS/PA/PU/PY    使用TCP SYN/TCP ACK或SCTP INIT/ECHO方式进行发现
-sN/sF/sX   指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态
-e eth0           指定使用eth0网卡进行探测
-f    --mtu <val>   指定使用分片、指定数据包的 MTU.
-b <FTP relay host>   使用FTP bounce scan扫描方式
-g            指定发送的端口号
-r          不进行端口随机打乱的操作(如无该参数,nmap会将要扫描的端口以随机顺序方式扫描,以让nmap的扫描不易被对方防火墙检测到)
-v 表示显示冗余信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态
-n          表示不进行DNS解析;
-D  <decoy1,decoy2[,ME],...>   用一组 IP 地址掩盖真实地址,其中 ME 填入自己的 IP 地址
-R          表示总是进行DNS解析。
-F          快速模式,仅扫描TOP 100的端口
-S <IP_Address>   伪装成其他 IP 地址
--ttl <val>   设置 time-to-live 时间
--badsum   使用错误的 checksum 来发送数据包(正常情况下,该类数据包被抛弃,如果收到回复,说明回复来自防火墙或 IDS/IPS)
--dns-servers     指定DNS服务器
--system-dns    指定使用系统的DNS服务器   
--traceroute    追踪每个路由节点
--scanflags <flags>   定制TCP包的flags
--top-ports <number>   扫描开放概率最高的number个端口
--port-ratio <ratio>   扫描指定频率以上的端口。与上述--top-ports类似,这里以概率作为参数
--version-trace   显示出详细的版本侦测过程信息
--osscan-limit   限制Nmap只对确定的主机的进行OS探测(至少需确知该主机分别有一个open和closed的端口)
--osscan-guess   大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统
--data-length <num>   填充随机数据让数据包长度达到 Num
--ip-options <options>   使用指定的 IP 选项来发送数据包
--spoof-mac <mac address/prefix/vendor name>    伪装 MAC 地址
--version-intensity <level>   指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。
--version-light   指定使用轻量侦测方式 (intensity 2)
--version-all   尝试使用所有的probes进行侦测 (intensity 9)
--version-trace   显示出详细的版本侦测过程信息

masscan

https://github.com/robertdavidgraham/masscan

常用扫描

单端口扫描:masscan.exe -p80 192.168.33.180

多端口扫描:masscan.exe -p80,8080 192.168.33.180

扫描一系列端口:masscan.exe -p10-30 192.168.33.180

快速扫描:masscan.exe 192.168.33.180 --top-ports 3 --rate 300

保存结果:masscan.exe 192.168.33.180 --top-ports 3 --rate 300 > 1.txt

参数详解

<ip / range>:命令行上前缀没有“-”的任何内容是IP地址或范围。
              有三种有效格式。
              第一个,单个IPv4地址,例如“ 11.11.0.0”。
              第二个,范围是“ 10.0.0.1-10.0.0.100”。
              第三个是CIDR地址,eg“ 0.0.0.0/0”。
              指定为多个选项,以空格分隔,逗号分割作为单个选项,例如10.0.0.0/8,192.168.0.1
 
--range <ip / range>:与上述目标范围规格相同,不同之处在于一个命名参数而不是一个未命名参数。
 
-p <端口,--ports <端口>:指定要扫描的端口。
                         可以指定单个端口,例如-p80。
                         可以指定端口范围,例如-p10-15。
                         可以指定端口/范围的列表,例如-p80,20-25。
                         UDP端口也可以指定,例如--ports U:161,U:1024-1100。
 
--banners:指定应抓取横幅,例HTTP服务器版本部分,HTML标题字段等。
 
--rate <packets-per-second>:指定所需的传输速率包的数量
 
-c <文件名>,-conf <文件名>:读取配置文件。
 
--resume <文件名>:与--conf相同,只是一些选项是自动的临时设置,例如--append-output。配置文件
格式
            
--echo:不运行,而是将当前配置转储到文件中。可以将文件与-c选项一起使用。此输出的格式为在“配置文件”下分析。
 
-e <ifname>,-adapter <ifname>:使用命名的原始网络接口,例如 “ eth0”或“ dna1”。如果未指定,则找到的第一个网络接口带有将使用默认网关。
 
--adapter-ip <IP地址>:使用此IP地址发送数据包。如果没有指定确定,则将使用绑定到网络接口的第一个IP地址。可以指定一个范围,而不是一个IP地址。注意:的大小范围必须是2的偶数幂,例如1、2、4、8、16、1024等。
 
--adapter-port <端口>:使用此端口号作为源发送数据包。如果如果未指定,则会在40000到60000范围内选择一个随机端口。此端口应由主机防火墙(如iptables)过滤,以防止主机网络堆栈不会干扰到达的数据包。代替单端口,可以指定一个范围,例如40000-40003。注意:的大小范围必须是2的偶数幂,例如上面的示例总共4个地址。
 
--adapter-mac <mac-address>:使用此作为源MAC ad-发送数据包。如果未指定,则绑定到网络的第一个MAC地址位于将使用接口。
 
--router-mac <mac地址>:将数据包作为destina-发送到此MAC地址tion。如果未指定,则为网络接口的网关地址将被ARPed。
 
--ping:指示扫描应包括ICMP回显请求。这可能包含在TCP和UDP扫描中。
 
--exclude <ip / range>:将IP地址或范围列入黑名单,以防止其被扫描。这会覆盖任何目标规范,从而保证该地址/范围不会被扫描。与普通格式相同目标规范。
 
--excludefile <文件名>:在同一tar中读取排除范围列表得到上面描述的格式。这些范围会覆盖所有目标,从而防止他们被扫描。
 
--append-output:使输出追加到文件,而不是覆盖文件。
 
--iflist:列出可用的网络接口,然后退出。
 
--retries:每隔1秒发送一次的重试次数。注意由于此扫描程序是无状态的,因此无论是否回复,都会发送重试已经收到。
 
--nmap:打印帮助,而不是这些选项的nmap兼容性替代品。
 
--pcap-payloads:从libpcap文件中读取包含数据包的数据包,并提取UDP有效负载,并将这些有效负载与目标相关联端口。这些有效负载将在通过以下方式发送UDP数据包时使用匹配目标端口。每个端口仅记住一个有效负载。 Sim‐与--nmap-payloads类似。
 
--nmap-payloads <文件名>:以与nmap相同的格式读取文件文件nmap-payloads。它包含UDP有效负载,以便我们可以发送有用的UDP包而不是空包。与--pcap-payloads类似。
 
--http-user-agent <user-agent>:将现有的user-agent字段替换为执行HTTP请求时的指示值。
 
--open-only:仅报告打开的端口,不报告关闭的端口。
 
--pcap <文件名>:将收到的数据包(但不传输的数据包)保存到libpcap格式的文件。
 
--packet-trace:打印发送和接收的那些数据包的摘要。这是在低速率下很有用,例如每秒几个数据包,但会淹没终端机率很高。
 
--pfring:强制使用PF_RING驱动程序。
 
--resume-index:扫描中的暂停点。
 
--resume-count:退出前要发送的最大探测数。这是与--resume-index一起使用可将扫描切碎并分成多个实例,尽管--shards选项可能更好。
 
--shards <x> / <y>:在实例之间拆分扫描。 x是此扫描的ID,而y是实例总数。例如,--shards 1/2告诉实例发送每个其他数据包,并从索引0开始。--shards 2/2发送其他所有数据包,但从索引1开始,因此它与第一个示例不重叠。
 
--rotate <时间>:旋转输出文件,将其重命名为当前时间图章,将其移动到单独的目录中。时间以数量指定秒,例如“ 3600”一个小时。或者,可以指定时间单位,例如 “每小时”,“或6小时”或“ 10分钟”。时间在均匀边界上对齐,因此如果指定为“ daily”,则文件将每天在午夜旋转。
 
--rotate-offset <时间>:时间的偏移量。这是为了适应时间区域。
 
--rotate-dir <目录>:旋转文件时,这指定哪个目录尝试将文件移动到。一个有用的目录是/ var / log / masscan。
 
--seed <integer>:整数作为种子随机数生成器的种子。用一个不同的种子将导致数据包以不同的随机顺序发送。在-可以指定字符串时间,而不是整数,使用本地时间戳记,自动生成不同的随机扫描顺序。如果未指定种子,则时间为默认值。
 
--regress:运行回归测试,成功返回“ 0”,失败返回“ 1”。
 
--ttl <num>:指定传出数据包的TTL,默认为255。
 
--wait <seconds>:指定发送完成后的秒数在退出程序之前等待接收数据包。默认值为10秒onds。可以将字符串永久指定为永不终止。
 
--offline:实际不传输数据包。这对低费率很有用和--packet-trace以查看可能传输了哪些数据包。要么,它与--rate 100000000一起使用以比较快速传输的基准会工作(假设零开销驱动程序)。 PF_RING慢20%比离线模式下的基准测试结果要高。
 
-sL:不执行扫描,而是创建一个随机地址列表。这对于导入其他工具很有用。选项--shard,--resume-index和--resume-count对于此功能很有用。
 
--interactive:在控制台上实时显示结果。没有效果如果与--output-format或--output-filename一起使用。
 
--output-format <fmt>:指示输出文件的格式,可以是xml,二进制,grepable,列表或JSON。选项--output-filename必须指定。
 
--output-filename <filename>:将结果保存到的文件。如果parameter --output-format未指定,则默认为xml用过的。
 
-oB <文件名>:将输出格式设置为二进制并将输出保存在给定的文件名。这等效于使用--output-format和--out-put-filename参数。然后可以使用--readscan选项读取二进制文件。二进制文件的大小比其XML等效项小,但是需要一个单独的步骤才能转换回XML或其他可读格式。
 
-oX <文件名>:将输出格式设置为XML并将输出保存在给定的文件名。这等效于使用--output-format xml和--output-filename参数。
 
-oG <文件名>:将输出格式设置为grepable并将输出保存在给定的文件名。这等效于使用--output-format grepable和--output-filename参数。
 
-oJ <文件名>:将输出格式设置为JSON并将输出保存在给定的文件名。这等效于使用--output-format json和--output-filename参数。
 
-oL <文件名>:将输出格式设置为简单列表格式并保存以给定的文件名输出。这等效于使用--output-formatlist和--output-filename参数。
 
--readscan <binary-files>:从-oB选项中读取-oB选项创建的文件扫描,然后根据其他格式以其他格式之一输出它们需求线参数。换句话说,它可以采用输出并将其转换为XML或JSON格式。

网络空间

注意

1.防火墙

2.内网环境:

内网环境可能出现得情况:明明数据库端口开的,网站也能正常打开,但是对目标进行端口扫描,发现数据库端口没有开放(排除防火墙问题)

WAF

概念

Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS安全策略来专门为Web应用提供保护的一款产品。

分类

云WAF:百度安全宝、阿里云盾、长亭雷池,华为云,亚马逊云等

硬件WAF:绿盟、安恒、深信服、知道创宇等公司商业产品

软件WAF:宝塔,安全狗、D盾等

代码级WAF:自己写的waf规则,防止出现注入等,一般是在代码里面写死的

识别工具

wafw00f

https://github.com/EnableSecurity/wafw00f

安装:

python setup.py install

使用:

python main.py www.xiaodi8.com

 使用:

python identYwaf.py www.xiaodi8.com

蜜罐

概念

蜜罐是一种安全威胁的检测技术,其本质在于引诱和欺骗攻击者,并且通过记录攻击者的攻击日志来产生价值。安全研究人员可以通过分析蜜罐的被攻击记录推测攻击者的意图和手段等信息。攻击方可以通过蜜罐识别技术来发现和规避蜜罐。因此,我们有必要站在红队攻击者的角度钻研蜜罐识别的方式方法。

分类

根据蜜罐与攻击者之间得交互得程度分为:

低级交互蜜罐

中级交互蜜罐

高级交互蜜罐

根据蜜罐模拟得目标分类:

数据库蜜罐

工控蜜罐

物联网蜜罐

web蜜罐等

蜜罐产品

 搭建

https://hfish.net/#/

linux

bash <(curl -sS -L https://hfish.net/webinstall.sh)
登陆链接:https://[ip]:4433/web/
账号:admin
密码:HFish2021

 识别

项目识别

Heimdallr

https://github.com/graynjo/Heimdallr

初始化

quake.exe init apikey值

 使用

quake.exe honeypot 192.168.33.179

 人工

端口多而有规律性

web访问协议就下载

原因:ssh,mysql应用蜜罐,搞一个可以爆破的地方。爆破,蜜罐会记录攻击者的账号和密码。账号和密码会采用web jsonp去传输。转发,跳转 jsonp去传输,当你去web http去访问这个端口,才有协议就会下载

设备指纹分析

网络空间

鹰图

quake

  • 29
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux上连接SQL Server 2019数据库,需要将相应的驱动程序配置到Tomcat的相关目录中。首先,下载SQL Server 2019 JDBC驱动程序(.jar文件)到本地。 接下来,打开Tomcat安装目录下的lib文件夹,并将下载的SQL Server驱动程序拷贝到该目录中。 在Tomcat安装目录下的conf文件夹中,找到context.xml文件,并在<Context>标签内添加以下内容: ```xml <Resource name="jdbc/SQLServerDB" auth="Container" type="javax.sql.DataSource" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost:1433;databaseName=your_database;" username="your_username" password="your_password" maxTotal="20" maxIdle="10" removeAbandonedTimeout="300" removeAbandonedOnMaintenance="true"/> ``` 在以上代码中,将`your_database`替换为SQL Server数据库的名称,`your_username`和`your_password`替换为数据库的用户名和密码。 保存并关闭context.xml文件。 然后,在Tomcat安装目录下的bin文件夹中,找到catalina.sh(或catalina.bat)文件,在其中添加以下内容: ```shell export CATALINA_OPTS="$CATALINA_OPTS -Djdbc.drivers=com.microsoft.sqlserver.jdbc.SQLServerDriver" ``` 保存并关闭catalina.sh(或catalina.bat)文件。 最后,重新启动Tomcat服务器。现在,Tomcat应该能够成功连接到SQL Server 2019数据库了。您可以在应用程序中使用JNDI数据源来访问数据库。 以上就是连接SQL Server 2019数据库驱动的步骤,在Linux上使用Tomcat。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值