安全测试扫描方法
被动信息收集
有以下特征:测试者不与目标直接交互;搜集请求与活动不被日志记录;无法定位测试者
方法原则
重点是商业活动,监管环境,系统管理习惯:密码命名习惯,员工号规律
可以通过公司网站,下载文档,找预期用户活动
从广泛信息到具体收集
明确信息收集范围,做完整记录
开源信息收集
OSINT收集范围:目标地理位置、总/分支机构情况、联系方式(员工号/名字/E-mail/手机号..)、企业文化/氛围、合作伙伴/供应商、目标公开发表应用的技术、新闻稿、微信公众号文章、求职网站公布信息、公司雇员博客、
DNS/路由/服务信息DNS/路由服务信息便签网站
pastebin黑客喜欢将战果粘贴到
Pastebin上,可以用语法找目标域名/主机IP相关的便签记录特殊搜索引擎
之前拿来做
OSINT搜图 比google好用支持细粒度搜索表达式,搜索定制信息
语法
文件类型:
filetype:xxx关键字:
intitle:xxx包含/描述关键字的页面:
inanchor:xxx多个关键字:
alltitle:"xxx" "xxx2"完全匹配关键字
"xxx"
被动信息收集工具利用
-
搜索互联网在线设备,非会员只能查看两页结果,会员价
¥319,提供可以与maltego共同使用的API-key遵循以下语法:
hostname:搜索指定的主机或域名port:搜索指定的端口或服务country:搜索指定的国家city:搜索指定的城市org:搜索指定的组织或公司isp:搜索指定的ISP供应商product:搜索指定的操作系统/软件/平台version:搜索指定的软件版本geo:搜索指定的地理位置,参数为经纬度before/after:搜索指定收录时间前后的数据,格式为dd-mm-yy
google hacking用特定的高级搜索语法,收集目标信息,查找配置缺陷和漏洞弱点
或者用附件里的
ghdb_scraper.py爬取信息,附件下载参考第一章基本语法
1、关键字不区分大小写
2、默认使用AND逻辑搜索
3、默认最多 $32$ 个单词,用
*突破限制,但影响精确搜索4、用
+号,强制带后面的单词搜索;5、
|或OR,匹配多个关键字的任一个6、混合用多种布尔操作时,将从左到右的顺序执行
7、默认下忽视关键字中部分常用单词
高级搜索语法
1、
intext:匹配网页正文中含有的关键字,可接多个关键字,空格或者逗号分隔2、
allintext:和上一个类似,能接多个关键字,能与其他操作符混合使用,可单独使用3、
intitle:搜索网页标题中是否有所输入字符,可单独使用,可混合其他命令用4、
allintitle:类似上一个 ,能接多个关键字,不能与其他操作符混合使用5、
cache:输入URL,搜索特定页面的缓存快照,回查网页副本6、
define:返回搜索关键字的定义7、
filetype/ext:搜索指定类型的文件,可以与其他操作符混合使用8、
info:搜索输入URL的摘要信息和其他相关信息,该操作符不能与其他操作符及关键字混用9、
inurl:搜索输入字符是否存在于URL中10、
allinurl:类似inurl,可指定多个字符,不能与其他操作符混合使用,可单独使用11、
link:搜索链接到所输入URL的页面,该操作符不需要关键字,不能与其他操作符及关键字混用;12、
site:搜索范围缩小到特定的网站,域或子域13、
related:接一个URL,搜索与该URL相关的页面,该操作符不能与其他操作符及关键字混用14、
numrange:接数字范围,用一个减号两边接数字来表示。减号左边为最小值,右边为最大值,从而搜索数字15、
inanchor:搜索一个HTML标记中的一个链接的文本表现形式,即在链接文本中搜索冒号后紧接的一个关键字16、
insubject:搜索Google组的标题行;17、
daterange:搜索某个日期范围内Google做索引的网页。
Recon-NG查询目标开源情报信息由
py编写,完全模块化的被动信息收集工具,kali自带了,在图形化界面的应用程序-信息收集或者终端输入recon-ng对于某些特定模块,如
Shodan,Jigsaw,Linked-in需要提供API-keys才能使用对于
ip的具体信息,可以通过 ipinfodb 来查询其功能与
Discover重合,故略过-
自动化脚本,可以调用各种渗透模块进行扫描
目录下运行
1
./discover.sh

目录
misc目录
工具:查找子域名及
IP,对比站点url变化,DNS解析,检查DNS域传输,检查SSL子域名mods目录
工具:
google查找敏感文件,mail信息,host主机信息notes目录
全是
txt文件,分享了对应工具的渗透测试常用技巧parsers目录
含有
burp等主动扫描工具的解析器
菜单
RECON与
recon-ng类似,domain和person用以查找域名或根据关键字查找个人相关的敏感信息domainPassive:被动收集需要事先提供Bing,google,shodan等API-keysActive:用工具主动扫描并生成报告person根据输入的名和姓,自动打开
Zaba search,peekyou等站点搜索个人敏感信息,需要准备相关网站的API以及梯子
SCANNING通过
nmap等脚本扫描IP/CIDR IP地址段端口开放情况generate target list包含
ARP扫描以及ping扫射,用以探测多个主机是否存活CIDR对指定网段信息收集,可选择外网/内网
List列表清单醒时扫描指定地址,类似
CIDRIP, range, or URL指定
URL
WEB借助
Burp suitr,Nikto,SSL等审计脚本做Web应用安全检查Web应用的渗透测试与漏洞检查占据很大工作量,用脚本的信息收集与检查可以了解目标的Web架构Nikto指定
ip地址列表及端口号信息,检查列表清单的Web应用,下图是脚本自动执行的结果

这里注意,当我把文件目录放在
/root下时脚本无法读取,这里选择放在和discover同目录SSL调用了
nmap.sslscan等工具分析服务器SSL配置
misc工具集提供了 生成
metepreter攻击载荷,解析xml扫描报告,打开MSF listener等功能攻击载荷
包含以下类型

SpiderFootkali自带了感觉 官网 应该是挂了
搜索汇集目标情报信息,获取目标子域,
E-mail地址,敏感信息文件等利用多个开源情报数据库,生成信息视图,但一些数据源需要提供
API-keys,但都是免费的,具体数据源信息可以参考它的github页面可以自动执行渗透的侦察阶段任务
启动时提供地址及端口以在浏览器中访问

到
setting里面加上特定网站的API-keys能调用更多的网站数据源
-
密码字典创建和使用
注意收集暴力破解的字典
如
Top100,weblogic密码,Webshell密码,常用密码,撞库邮箱根据目标机构站点/系统自定义密码字典,路径
自动化工具添加
攻陷的密码字典列表
使用已泄露的密码,字典,证书凭证
Adobe, 网易163,qq邮箱 , 京东 ,CSDN
主动信息收集
搜集的目标
分析目标网络,了解目标脆弱点,掌握渗透测试环境;
扫描搜集目标安装的操作系统和网络服务;
定义攻击目标,确定映射关系,发现潜在的漏洞;
从网络内部或外部,对网段目标展开扫描;
主动扫描,行为活跃,频频触发IDS/IPS告警;
主动扫描,信息搜集,更直接干脆地掌握目标漏洞信息
sparta(斯巴达)扫描扫描与枚举,简化网络架构探测工作,组合了
nmap,Metasploit,Sqlmap,Hydra看起来这个版本的
kali并未集成,需要手动下载安装
功能
可以调用
nmap扫描,以及Nitko根据其结果展开更精确的扫描针对扫描结果展开专项渗透:
Dirbuster目录爆破,Webslayer进行Web指纹识别,Cutybcapt进行Web页面截图针对可暴力破解的端口,调用
Hydra使用
host添加主机,对于ssh,ftp,mysql,3389等服务,发送到Brute直接爆破
Masscan结合Nmap扫描端口其不关心
TCP,即不需建立TCP三次握手,加快扫描速度自定义黑白名单,扫描速率,伪造发包源
IP,源端口和源MACLinux下能达到每秒发包 $160万$但因为不能探测端口对应服务以及主机操作系统类型,无法扫描端口漏洞,所以要结合
Nmap使用
扫描网段
1
masscan -p[port],[port1]-[port2] IP
定义每秒发包速度
1
--rate [num]
定义结果输出位置
1
-oL [/path]

输出扫描参数为配置文件
1
-echo scan.conf
扫描时使用文件的配置
1
-c scan.conf
可以为不同类型的扫描设置不同模板
banner checking为
masscan分配一个单独的IP地址,如此才能获取banner信息1
--banners --source-ip [IP]
黑名单设置/读取列表扫描
1
2
3
4
5--excludefile exclude.txt
--exclude [IP/range]
--includefile [filename]
-iL [filename]不同报告输出
1
2
3
4
5-oX 报告为 xml 格式
-oG Grepable Nmap 格式
-oJ json报告
-oL 简单的列表,每行一个主机端口对
-oB 二进制文件报告指定发包网卡
1
-e eth0
设置
user-agent1
--http-user-agent [user-agent]
Nexpose与Nessus视频只讲了安装和基本操作,都是图形化界面操作不再赘述
这里不是很重要
值得注意的是
Nexpose的免费一年社区版好像没有了,现在是试用 $30$ 天以及其升级版InsightVMburp进行Web漏洞扫描和分析当
Intercept关闭时,流量仍会经过burp,可以在HTTP history里查看burp消息过滤
请求类型,
MIME类型,HTTP状态码,查找条件,文件类型,Comment注释,监听端口Intercept可选项配置Websockets Messages选择双向拦截客户端与服务端的消息
Response Modification服务器返回消息修改包括:(高亮)显示表单中隐藏字段,使表单中
disable字段生效,移除输入域长度限制,移除JS验证,移除所有JS,移除所有标签,将https改为http,移除所有cookie中的安全标志正则表达式
对请求和返回消息的消息头,消息体,请求参数名,请求参数值进行匹配和替换
IBM Appscan 漏洞分析扫描
工作原理
爬虫得到整个
Web应用结构根据分析,发送修改的
HTTP Request进行攻击尝试通过分析验证
Response,判断漏洞
Appscan在用内置规则库测试时,对每种安全威胁都会发送多个安全测试的变体,网站页面与页面参数越多,其需要发送的测试用例越多。即应该更改扫描策略与扫描任务参数设置


appscan检测Web services漏洞Web services实现了应用程序之间跨平台跨语言的通信,将应用程序转换为Web应用程序,通过使用xml等标记语言,在应用程序之间传递消息SOAP(Simple Object Access Protocol)协议允许程序使用http进行数据交互WSDL(Web Service Definition Language)语言用来描述网络服务,其特征是使用xml标记的文档,可以规定Web service的具体操作等UDDI(Universal Description Discover and Intergration)语言是一种目录服务,使用此语言对Web service进行注册和搜索,或用于储存相关信息的目录SOA架构,作为各个系统组件的协调,故其安全性尤其重要Web service安全特性传输层安全
通过
SSL加密传输隧道消息层加密
xml签名,加密,tokenWeb service协议安全体系
应用层安全
Web Service常见安全漏洞- 命令注入(
SQL , LDAP , OS Command) - 缓冲区溢出
- 不正确的异常处理
- 无效的访问控制
XML命令注入 (XPath , XQuery)一种最基本的
XPath注入如下:1
Stmt="//users/user[username/text()='admin' and password/text()=''or'1'='1']/id/text()
如此直接访问
admin用户XML拒绝服务攻击服务器调用
XML Paser解析SOAP消息中的XML数据,利用大量的超大消息体或递归的XML实体声明使服务器长时间解析XML数据,直至资源耗竭,形成拒绝访问攻击XML信息泄露例:
1
2
3<!DOCTYPE root>[
<!ENTITY myfile SYSTEM "file://c:/windows/flag.txt">
]>
- 命令注入(
SQLmap罗列了所有可用的参数,笔者感觉用处不大,具体常用参数可以看我的博客
NoSQL数据库注入和漏洞分析常规的数据库分为结构性和关系型,而
NoSQL数据库是基于键/数据对的,即keys-Value型的,允许储存任何形式数据,区别于传统要求的树状/关系型数据,适用于存有海量数据的环境下使用,如大数据它比传统数据库效率更高,常见的有
CouchDB,MongoDB虽然通常意义上
sql注入只针对传统数据库,但仍有办法对NoSQL型数据库进行注入安装
1
git clone https://github.com/codingo/NoSQLMap.git NoSQLMap
但原项目基于
python2.x开发,如果当前电脑是python3的话会出现以下报错,原因是use_2to3不被支持1
error: Setup script exited with error in pymongo setup command: use_2to3 is invalid.
在相关issue中并没有给出解决方案,而笔者在自己的
kali下回退版本后也遇到了其他报错
正常安装的场景
CMS内容管理器漏洞扫描分析例如
Wordpress,Joomla,Drupal1
2git clone https://github.com/Dionach/CMSmap.git /opt/CMSmap
python setup.py install以
Wordpress为例用户角色包括:超级管理员,管理员,
editor,contributor,subscriber目录结构:
wp-admin,wp-content---lan/plugins/themes.wp-includes.index.php,wp-login.php安全机制:
nonce防御CRSF操作
靶场地址可以用老大给的靶机 $1.0$ 中的
Wordpress3.5.2-getshell来测试1
cmsmap [IP]


AWVS漏洞扫描官网可试用 $14$ 天

课程所用版本和现版本相差过远,大部分没有参考价值,笔者自行发挥
这里扫一个本地靶机试一下

业务关键性:低到严重,根据业务的重要程度来选择
默认扫描配置文件:全扫描,高风险,高/中风险,跨站脚本,SQL注入,弱密码,仅抓取,恶意软件扫描

扫描速度,是否需要网站登录等设置

扫描结果
可能不太明显,扫一下
DVWA的靶机看一下
firefox渗透插件这一小节主要是工具分享,共有
30+款,包括渗透测试,信息收集,代理,加/解密-
仅支持
linux/Unix,一个集成式的脚本,能帮助安装大量渗透脚本 -
原
firebug已经下架,现在的是persona版本主要工作是用来编辑修改各种
css,html,JS等代码 -
更改上传包中的
user-agent值,笔者认为这一款更好用一些 -
分析流量,包括修改参数,挺好用的
本体要收费,这里给出无需修改代码即可免费用的版本
[
foxyproxy standard](https://addons.mozilla.org/zh-CN/firefox/addon/foxyproxy-standard/
高级的代理管理工具httpfox检测分析浏览器与服务端数据流信息,现已失效
-
即时查看网站返回的
Header,支持数据包修改重发你是否在找burp-repeater -
用于信息收集,详细查看每个
IP,域名,网络提供商的信息 -
显示
headers,跟上面的一个重复了 Cipher fox显示当前
SSL/TLS加密以及证书现已失效
xss me检测
xss,现已失效,可使用平替check xss[
sqlinject me]功能显然,现状同上,平替也同上
-
鉴别网站组件语言等信息
Poster现已失效,不如
hackbarjavascript deobfuscator用于显示网页运行的
JS代码,现已失效modify headers显而易见,功能与上面某个重复了
-
显示当前服务器位置的国旗,双击国旗查看更多信息
-
跟上面的差不多
ViewStatePeeker现已失效
-
前端查看页面信息
Tamper Data现已失效,改
get/post,跟hackbar重了Rightclickxss现已失效
Regular Expressions Tester现已失效
passiverecon被动信息收集,现已失效
fireforce做暴力破解,现已失效
-
现已失效,找了个平替
advance dork用来结合谷歌语法搜索,现已失效
host spy查找子域名等,现已失效
-
安全牛第二章-安全测试扫描工具
- 本文链接: http://noone40404.github.io/2023/11/02/安全牛课堂第二章-安全测试扫描工具/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!