红队专题-Web渗透之资产思路框架知识整理 钓鱼社工
- 钓鱼自动化
- zip域名
- ARP欺骗
- 快捷方式
- Tools
-
- burpsuite
-
- App 抓包
- ffuf
-
- 模糊测试
- QingScan
- Wireshark
- Cloud
-
- CF
- En-Decode
-
- ffffffff0x
- Info
-
- dirb
- dirmap
- dirsearch
- dnsenum
-
- 使用测试
-
- 常规使用
-
- 使用字典文件进行dns查询
- 子域名暴力查询部分
- C类IP地址
- IP块
- HQLmap
- masscan
-
- 0x01 选项
- 0x03 配置文件格式
- windows 10 错误解决
- nmap
- OneForAll-master
-
- ones
- subDomainsBrute
- sublist3r
- theHarvester
- weakfilescan
- wydomain
- 登录框
-
- 口令缺陷
- 浏览器准备
- actuator
- Goby
-
- 学校站点的信息搜集
- 操作系统探测
- 国外大佬的信息收集(侦查)过程
- 工具 | 批量获取域内桌面文件
- 组合多位师傅的渗透测试十三字典,强烈建议收藏
- 常见的web框架特征(二)
- webpack下加密方法提取思路
-
- 一个扫描常见敏感目录的burpsuite插件
- 干货 | Burpsuite的使用tips总结
- 实战 | ChatGPT在渗透中的利用
- 密码重置
-
- 邮箱替换
- 验证码回复
- 滑动验证码
- 分类
-
- 被动侦查-第三方服务打点
- 主动访问-工具打点
-
- 社工钓鱼
- 00 网络空间组件检索平台/引擎
-
- 安恒 sumap
- Zoomeye 钟馗之眼 语法
- Fofa
- Shodan
- 奇安信 hunter 鹰图平台
- 三六零 Quake
- 知道创宇 zoomeye 钟馗之眼
- 01 搜索引擎
-
- Google hack
-
- github API 密钥、令牌和密码
- 工具
-
- ThunderSearch 闪电搜索器
- 02 组织查询
-
-
- 备案
- whois信息
- C段网站
-
- 常见 服务器系统版本
- 03 域名
-
- 在线子域名爆破
- 查子域
- VirusTotal:
-
- 域名信息收集工具 dnsenum
-
- theHarvester
- Layer
- 子域名收集 DiscoverSubdomain
- 子域名信息搜集工具 wydomain
- 目标域名、DNS收集 subDomainsBrute
- 04 IP
- 05 旁站
-
- 同ip网站
- 站长之家
- Web of Webscan
- 06 指纹识别
-
- 360
- 云悉
- 工具包
-
- ObserverWard
- Glass(镜)
- Fav-up
- ehole棱洞
- 端口
-
- 同服旁站/服务/banner识别 (cms、framework、OA、VPN、路由、中间件)
-
- Glass
- whatweb
- url采集、webfile结构、备份扫描、文件目录遍历、未授权访问、logo
-
- weakfilescan
- dirsearch
- Dirbuster
- gobuster
- Caesa
- wpscan
- 07 API提取
-
- API 接口安全
- Aakian
- GitNacosConfig
- 08 敏感信息泄露
-
- 文件及路径
- 09 小程序
-
-
- 敏感信息泄露
-
- github
- 云泄露利用检测Tools
-
- 自动化收集大厂 过滤
- 运营商
-
- 1 收集可能存在sql注入的url
-
- 7KBscan
- 路径 后缀
- 公司架构
- 产品规格
-
- 网站标题
- 全国省市县分布
-
-
- 国外脆弱
-
- 开源网络情报(OSINT)
- 内网信息收集
- 渗透测试-会话劫持-登陆劫持天涯论坛
- 分类
- 工具
- 小白鼠
-
-
- 先端口转发一下 防止小白鼠掉线
-
-
- echo "1" > /proc/sys/net/ipv4/ip_forward 重启网络服务或主机后效果不再。
-
- 知识引用
-
- 新建标签页 打开wireshark
-
- start
-
- 正好看到以前发的帖子
- 用这个号点击 逛一逛
- stop
-
- 另存为 Pcap格式
- 停掉欺骗
-
-
- 切换到所在文件夹 cd Desktop
- 安装 ferret
- 重放 自动生成hamster.txt文件
-
- 开启代理端
-
- 忘了路径
- 搜索
- 39个
- 完成
- 另一种方法 (推荐)网段实时劫持更新
-
- 参考文章
-
- 红队钓鱼邮件自动化工具
钓鱼自动化
该工具来自于Github:https://github.com/A10ha/EmailSender
有一个自己的私密邮件服务器,以防止在攻防演练中被溯源。
1、支持腾讯企业邮、网易企业邮、阿里企业邮、自建邮服SMTP授权账号。
2、批量发送钓鱼邮件,可暂停发送,可重置发送。
3、伪造发件人名称与发件人邮箱。
4、解析EML邮件原文文件,快捷利用邮件原文生成钓鱼邮件。
5、快捷邮件正文HTML代码编辑预览,快速本地调试邮件内容。
6、设置监听服务器,监听接收受害者是否打开邮件,适用于应急演练场景。
7、本地日志记录,自动创建本地日志目录,记录全量日志以及错误日志。
8、正文图片Base64编码插入,可用于插入钓鱼网页二维码等图片。
1、在PyCharm中打开源码包,并按照软件提示进行相关配置。
2、在 EmailReader.py 文件中填入你的邮件服务器地址及相关信息。
3、使用Pyinstaller进行exe打包。
接下来你可以进行合法使用了,以下是软件主界面:
zip域名
https://forum.butian.net/share/2086
邮件可信其二内容可信
.zip域名钓鱼链接
https://mp.weixin.qq.com/s/nIwFgy0crAR6eBv6dhU09Q
.zip顶级域名
合法的正斜杠字符 U+002F (/)和字符 U+2044 (⁄) 和 U+2215 (∕)
URL:https://google.com@bing.com 实际上会将用户带到bing.com。
根据 2016 年的 Chromium 错误报告,主机名中允许使用 Unicode 字符 U+2044 (⁄) 和 U+2215 (∕),但不会被浏览器视为正斜杠。这两个 unicode 字符都类似于合法的正斜杠字符 U+002F (/)。
如果我们制作一个像这样的 url:
https://google.com∕gmail∕inbox@bing.com
https://github.com/kubernetes/kubernetes/archive/refs/tags/v1.27.1.zip
我们把上面的网址,把https://后面的正斜杠全部换成U+2215(∕)斜杠,@在v.1.27.1.zip前加上运算符。
https://github.com/kubernetes/kubernetes/archive/refs/tags/@v1.27.1.zip
ARP欺骗
https://mp.weixin.qq.com/s/WyFPxxjSLF-diSUA-cTRZA
简析ARP欺骗
快捷方式
快捷方式钓鱼手法鉴赏
https://mp.weixin.qq.com/s/KRyzFaF5lfSHuQvBRppDAQ
在攻击者的角度,其也会利用快捷方式文件进行钓鱼攻击,甚至部分APT组织将LNK文件作为其投递的主要载荷。
快捷方式除了可以设置一些特殊的属性,
例如“目标”、“起始位置”、“备注”,
它还具备几个显而易见的特点:
1、支持带参数执行任意目标文件;
2、支持显示目标文件的图标;
3、支持设置文件启动方式;
4、文件名和后缀名可以完全自定义。
很明显这些特点是为了帮助用户更好地管理和使用快捷方式,但是利用这些特性,黑客也可以方便的进行网络钓鱼欺骗。
双击快捷方式导致命令执行
复杂利用手段分析
修改文件大小
修改文件图标
修改文件指向显示
攻击者可以通过修改快捷方式文件结构来任意控制目标指向的显示:
EnvironmentVariableDataBlock中的TargetAnsi及TargetUnicode,LinkTargetIDList结构中的第五个ItemID。
微软的官方介绍文档自行研究:https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-shllink/ae350202-3ba9-4790-9e9e-98935f4ee5af。
修改快捷方式文件LinkTargetIDList结构的ItemID
修改快捷方式文件EnvironmentVariableDataBlock中的TargetAnsi及TargetUnicode
Internet快捷方式
一种用于连接到互联网上的资源或网站的快捷方式,它同样支持任意图标修改、文件名和后缀名完全自定义。
与普通快捷方式相比,Internet快捷方式文件后缀名为.URL,并且支持与网页相关的属性设置。
还可以将url设置成file路径去执行文件,例如:URL=file:\\\\\\C:\\Users\\xxx.exe
欺骗伪造
除了url属性外,Internet快捷方式还支持很多其他的属性,攻击者可以通过IconFile、IconIndex来控制文件图标的显示,有个好消息是,由于微软取消了Internet快捷方式的远程ico引用,目前只能显示当前电脑中已存在的图标,不过即使如此攻击者仍然可以构建欺骗性很强的钓鱼文件。
很多APT组织的主力攻击手段(例如:海莲花、响尾蛇等)。
Tools
burpsuite
burpsuite
https://github.com/gh0stkey/HaE
Burp Collaborator
dnslog平台通过dns/http外带方式
得到当前用户权限
确定站库分离/是否出网
外带出来的进程中发现有无Defender
Burp Collaborator会将返回的Base64自动转为小写,而Base64又是区分大小写的,所以咱这里不能正常解码,换个dnslog平台就好了
echo "xxxx" | base64 -d
Burpsuite抓包测试时可以用%20或+号来替代空格,如果直接用空格可能执行失败,浏览器会自动转URL编码,但Burpsuite不会
log2j
fastjson
shiro
sniff BurpSuite2022.3.2 jpy jython.jar
CO2
J2EEScan
Log4Shell Everywhere
Active Scan++
Autorize
Turbo Intruder
Software Vulnerability Scanner
Burp Bounty, Scan Check Builder
Decompressor
WSDL Wizard
CSRF Scanner
CSRF Token Tracker
Additional Scanner Checks
XSS Validator
SQLiPy Sqlmap Integration
G:\Hack\sniff\Burp\BurpSuite-Extensions\captcha-killer-modified-0.16-jdk8.jar
Burp验证码识别插件
G:\Hack\sniff\Burp\BurpSuite-Extensions\wooyun-payload-master\WooyunSearch\target\WooyunSearch-1.0-SNAPSHOT-jar-with-dependencies.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\APIKit-main\target\APIKit-1.0-SNAPSHOT-jar-with-dependencies.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\BurpBountyPro2.4\BurpBountyPro.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\BurpFastJsonScan\BurpFastJsonScan-1.0.6.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\BurpFastJsonScan-main\target\BurpFastJsonScan-2.2.2.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\BurpShiroPassiveScan-master\target\BurpShiroPassiveScan-1.0-SNAPSHOT.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\bypasswaf-master\bypasswaf.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\fastjsonScan-main\FastjsonScan.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\Fastjson-Scanner-master\fastjson_scan.py
G:\Hack\sniff\Burp\BurpSuite-Extensions\J2EEScan-master\target\J2EEScan-2.0.1-dev-jar-with-dependencies.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\JWT4B-master\target\JWT4B-jar-with-dependencies.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\log4j2burpscanner-main\target\log4j2burpscanner-0.18.6-jar-with-dependencies.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\log4j2Scan\log4j2Scan.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\shiroPoc-master\target\shiroPoc-0.5-SNAPSHOT-jar-with-dependencies.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\Struts2-RCE-master\struts_ext_v2.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\wooyun-payload-master\WooyunSearch\target\WooyunSearch-1.0-SNAPSHOT-jar-with-dependencies.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\BurpCrypto-0.1.9.1-full.jar
burpsuite加密插件的集合,支持AES / RSA / DES / ExecJs(在burpsuite中执行JS加密代码)
G:\Hack\sniff\Burp\BurpSuite-Extensions\burp-log4shell.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\BurpShiroPassiveScan-1.7.6.jar
对BurpSuite传进来的每个不同的域名+端口的流量进行一次shiro检测
G:\Hack\sniff\Burp\BurpSuite-Extensions\chunked-coding-converter-0.4.0.jar
一键分块传输编码,实现文件上传,命令执行,sql注入等漏洞的WAF绕过功能
G:\Hack\sniff\Burp\BurpSuite-Extensions\FastjsonScan.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\Fiora-v0.1-jar-with-dependencies.jar
漏洞PoC框架的图形版
G:\Hack\sniff\Burp\BurpSuite-Extensions\gason-0.9.6.jar
sqlmap.jar的gui版,使用gason插件+SqlMap测试SQL注入漏洞
G:\Hack\sniff\Burp\BurpSuite-Extensions\HackBar.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\HaE-2.1.3.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\log4j2burpscanner-0.18.2-jdk8.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\Log4j2Scan-0.10-SNAPSHOT-01.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\Log4JScan-1.0.0-SNAPSHOT-jar-with-dependencies.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\LoggerPlusPlus.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\passive-scan-client-0.3.0.jar
流量转发插件,用来拓展Burp的第三方功能 将正常访问网站的流量与提交给被动扫描器的流量分开,互不影响
G:\Hack\sniff\Burp\BurpSuite-Extensions\shiroPoc-0.5-SNAPSHOT-jar-with-dependencies.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\SpringScan_JDK8.jar
G:\Hack\sniff\Burp\BurpSuite-Extensions\WooyunSearch-1.0-SNAPSHOT-jar-with-dependencies.jar
App 抓包
ffuf
模糊测试
扫描二级域名
譬如我们想扫描baidu.com的子域名,可以使用**FUZZ.**baidu.com
FUZZ将会被替换为字典里的内容
字典 subdomains-top1million-110000.txt
ffuf -u http://FUZZ.baidu.com -w subdomains-top1million-110000.txt
QingScan
漏洞挖掘工具
缝合怪扫描
https://gitee.com/songboy/QingScan
Wireshark
抓包嗅探 wireshark
Cloud
CF
https://wiki.teamssix.com/cf/
https://github.com/teamssix/cf/releases
cf config
cf alibaba perm
./cf alibaba perm
cf alibaba ecs ls
cf alibaba ecs exec -b
https://zhuanlan.zhihu.com/p/540129832
En-Decode
ffffffff0x
加解密/编解码
ctf CryptionTool改进
https://github.com/ffffffff0x/BerylEnigma
Info
dirb
dirmap
dirsearch
python dirsearch.py -u http://xxxx -w 指定字典
python dirsearch.py -u http://xxxx -r 递归目录(跑出目录后,继续跑目录下面的目录)
python dirsearch.py -u http://xxxx --random-agents 使用随机UA
选项:
-h、 --帮助显示此帮助消息并退出
强制性的:
-u URL,--URL=URL URL目标
-L URLIST,--url list=URLIST
URL列表目标
-e扩展,--EXTENSIONS=扩展
用逗号分隔的扩展列表(示例:php、asp)
字典设置:
-w单词列表,--WORDLIST=单词列表
-l、 --小写
-f、 --力延伸
强制扩展每个单词列表条目(如
DirBuster公司)
常规设置:
-s DELAY,--DELAY=延迟
请求之间的延迟(浮点数)
-r、 --递归Bruteforce
--抑制空,--抑制空
--scan subdir=SCANSUBDIRS,--scan subdr=SCANSUB DIRS
扫描给定-u|--url的子目录(分隔
以逗号表示)
--exclude subdir=EXCLUDESUBDIRS,--exclude subsdir=EXCRUDESUBDIR
递归过程中排除以下子目录
扫描(用逗号分隔)
-t螺纹计数,--threads=螺纹计数
线程数
-x EXCLUDESTATUSTODES,--exclude status=EXCLUDESATUSTODES
排除状态代码,用逗号分隔(例如:301,
500)
-c COOKIE,--COOKIE=COOKIE
--ua=用户代理,--用户代理=用户代理
-F、 --遵循重定向
-H标题,--header=标题
要添加的标题(例如:--header“Referer:
example.com“--header”用户代理:IE“
--随机代理,--随机用户代理
连接设置:
--timeout=超时连接超时
--ip=ip将名称解析为ip地址
--proxy=HTTPPROXY,--http proxy=HTTPPROXY
Http代理(示例:localhost:8080
--最大重试次数=最大重试次数
-b、 --按主机名请求
默认情况下,dirsearch将通过IP请求速度。
这将按主机名强制请求
报告:
--简单报告=简单输出文件
仅找到路径
--纯文本报告=PLAINTEXTOUTPUTFILE
找到具有状态代码的路径
--json报告=JSONOUTPUTFILE
dnsenum
# DNSenum简介
DNSenum是一款dns查询工具。
它能够通过Google或字典文件猜测可能存在的域名,
并对一个网段进行反向查询。
它不仅可以查询网站的主机地址信息,域名服务器和邮件交换记录,
还可以在域名服务器上执行axfr(区域传送)请求,
然后通过Google脚步得到扩展域名信息,
提取子域名并查询,
最后计算IP地址并执行whois查询,执行反向查询,把地址写入文件。
# 参数选项
-h来查询全部命令
```cpp
dnsenum VERSION:1.2.6
Usage: dnsenum [Options] <domain>
[Options]:
Note: If no -f tag supplied will default to /usr/share/dnsenum/dns.txt or
the dns.txt file in the same directory as dnsenum.pl
GENERAL OPTIONS:
--dnsserver <server>
Use this DNS server for A, NS and MX queries.
--enum Shortcut option equivalent to --threads 5 -s 15 -w.
-h, --help Print this help message.
--noreverse Skip the reverse lookup operations.
--nocolor Disable ANSIColor output.
--private Show and save private ips at the end of the file domain_ips.txt.
--subfile <file> Write all valid subdomains to this file.
-t, --timeout <value> The tcp and udp timeout values in seconds (default: 10s).
--threads <value> The number of threads that will perform different queries.
-v, --verbose Be verbose: show all the progress and all the error messages.
GOOGLE SCRAPING OPTIONS:
-p, --pages <value> The number of google search pages to process when scraping names,
the default is 5 pages, the -s switch must be specified.
-s, --scrap <value> The maximum number of subdomains that will be scraped from Google (default 15).
BRUTE FORCE OPTIONS:
-f, --file <file> Read subdomains from this file to perform brute force. (Takes priority over default dns.txt)
-u, --update <a|g|r|z>
Update the file specified with the -f switch with valid subdomains.
a (all) Update using all results.
g Update using only google scraping results.
r Update using only reverse lookup results.
z Update using only zonetransfer results.
-r, --recursion Recursion on subdomains, brute force all discovered subdomains that have an NS record.
WHOIS NETRANGE OPTIONS:
-d, --delay <value> The maximum value of seconds to wait between whois queries, the value is defined randomly, default: 3s.
-w, --whois Perform the whois queries on c class network ranges.
**Warning**: this can generate very large netranges and it will take lot of time to perform reverse lookups.
REVERSE LOOKUP OPTIONS:
-e, --exclude <regexp>
Exclude PTR records that match the regexp expression from reverse lookup results, useful on invalid hostnames.
OUTPUT OPTIONS:
-o --output <file> Output in XML format. Can be imported in MagicTree (www.gremwell.com)
常用选项:
–enum 相当于–threads 5 -s 15 -w.
-v 详细显示所有进度和所有错误消息,加上-v会很慢,会动态的进行记录扫描,产生消息过多
-w 执行whois查询
-o [file] 以XML格式输出到指定文件中,方便之后查询
-t/ --timeout 超时设置,可以提高速度但可能会影响查询结果
使用测试
常规使用
dnsenum -enum xxxx.com
基本的域名IP信息。
IN:INTERNET,表示资源都在Internet上
A记录代表"主机名称"与"IP"地址的对应关系,
作用是把名称转换成IP地址,意思是说该主机的IP对应之意!
DNS使用A记录来回答"某主机名称所对应的IP地址是什么?"
主机名必须使用A记录转译成IP地址,
网络层才知道如何选择路由,并将数据包送到目的地.
你要知道的是A就代表了将域名转换成ip,现在好多的工具都有这个功能。
对baidu进行区域传送,结果基本为refused,
现在绝大部分dns服务器对区域传送进行了严格的限制
Scraping baidu.com subdomains from Google:
___________________________________________
Error GETing http://www.google.com/ncr:
Can't connect to www.google.com:80 (Network is unreachable) at /usr/bin/dnsenum line 971.
dnsenum进行Google脚步搜索, 未连接到Google自然就无法使用这个功能。
使用字典文件进行dns查询
dnsenum --noreverse -f /usr/share/dnsenum/dns.txt sina.com
子域名暴力查询部分
Brute forcing with /usr/share/dnsenum/dns.txt:
_______________________________________________
11.baidu.com. 60 IN CNAME jpaasmatrix.e.shifen.com.
jpaasmatrix.e.shifen.com. 60 IN CNAME domain-offline.baidu.com.
domain-offline.baidu.com. 60 IN A 182.61.62.50
a.baidu.com. 5713 IN CNAME asp.e.shifen.com.
asp.e.shifen.com. 10 IN A 112.80.248.124
abc.baidu.com. 434 IN CNAME www.a.shifen.com.
www.a.shifen.com. 71 IN A 180.101.49.11
www.a.shifen.com. 71 IN A 180.101.49.12
act.baidu.com. 60 IN CNAME eopa.n.shifen.com.
eopa.n.shifen.com. 92 IN A 180.101.49.193
eopa.n.shifen.com. 92 IN A 180.101.49.192
CNAME(别名):
用于将DNS域名的别名映射到另一个主要的或规范的名称 。
意思就是通过CNAME将你访问的没有IP地址的域名间接的变成访问另外一个主机。
比如你要访问xxx.baidu.com实际访问的时候,
就变成了访问ww1.xxx.cn.w.xxxx.com,它只是起到一个映射的功能。
C类IP地址
IP块
由于dnsenum会使用反向查询IP地址,所以使用–noreserve跳过这个过程以加快查询速度。
HQLmap
cd HQLmap
And launch the project :
python HQLmap.py
Usage is then displayed :
Usage: HQLmap.py [options]
Options:
-h, --help show this help message and exit
--url=URL qURL to pentest
--cookie=COOKIE Cookie to test it
--param=PARAM Param to test
--postdata=POSTDATA Postdata (POST Method)
--message=BLIND_HQLI_MESSAGE
Message appearing while Blind HQLi
--tables Tries to gather as much tables as possible (With
Bruteforce)
--T=TABLE Name of the table you want to get
--table_name_file=FILE_TABLE
DB file for name of tables
--columns Tries to gather as much columns as possible (With
Bruteforce)
--C=COLUMN Name of the column you want to get
--column_name_file=FILE_COLUMN
DB file for name of columns
--check Check if host is vulnerable
--user Tries to get user() from dbms
--count Get count of specified table(s)
--dump Dump specified table(s) / column(s)
--results Enumerate results after session
--verbose Verbose mode
选项:
-h、 --帮助显示此帮助消息并退出
--url=url qURL到pentest
--cookie=cookie cookie来测试它
--param=要测试的param参数
--postdata=postdata postdata(POST方法)
--消息=BLIND_HQLI_message 盲HQL时出现信息
--tables尝试收集尽可能多的表(使用
残暴)
--T=要获取的表的名称
--table_name_file=file_table
表名称的DB文件
--columns尝试收集尽可能多的列(使用
残暴)
--C=要获取的列的列名称
--column_name_file=file_column
列名称的DB文件
--check检查主机是否易受攻击
--user尝试从dbms获取user()
--count获取指定表的计数
--dump转储指定的表/列
--results在会话后枚举结果
--详细详细模式
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --check
python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=A101D5D76A260E9ECD2E10ADE9DF0E47" --T=User --results --dump --postdata="username=Test&password=Test!!!"
$ python HQLmap.py --url="http://localhost:9110/ropeytasks/task/search?q=test&search=Search" --param=q --cookie="JSESSIONID=D50C4AD5BA0F05FA426CF660D9E069B7" --tables
https://github.com/PaulSec/HQLmap
masscan
# 介绍
masscan是一种Internet规模的端口扫描程序,可用于对
Internet或内部网络。虽然默认传输速率仅为100
数据包/秒,它可以可选地高达2500万个数据包/秒,速度
足以在3分钟内扫描Internet的一个端口。
# 0x00 常用参数
```python
masscan <IP地址/范围> -p端口选项
masscan --ports 1-10000 192.168.26.131 --adapter-ip 192.168.26.1
--adapter-ip 指定发包的ip地址
--adapter-port 指定发包源端口
--adapter-mac 指定发包的源MAC地址
--router-mac 指定网关MAC地址
--exclude IP地址范围黑名单,防止masscan扫描
--excludefile 指定IP地址范围黑名单文件
--includefile,-iL 读取一个范围列表进行扫描
--wait 指定发包后的等待时间
0x01 选项
•<ip / range>:假定命令行上没有前缀“-”的任何内容
是IP地址或范围。有三种有效格式。首先是
单个IPv4地址,例如“ 192.168.0.1”。第二个范围是
“ 10.0.0.1-10.0.0.100”。第三个是CIDR地址,例如“ 0.0.0.0/0”。在
必须至少指定一个目标。可以指定多个目标。这个
可以指定为多个选项,以空格分隔,也可以分隔
以逗号作为单个选项,例如10.0.0.0/8,192.168.0.1。
•--range <ip / range>:与上述目标范围规格相同,不同之处在于
一个命名参数而不是一个未命名参数。
•-p <端口,--ports <端口>:指定要扫描的端口。一个
可以指定端口,例如-p80。可以指定端口范围,例如-p
20-25。可以指定端口/范围的列表,例如-p80,20-25。 UDP端口
也可以指定,例如--ports U:161,U:1024-1100。
•--banners:指定应抓取横幅,例如HTTP服务器版本
部分,HTML标题字段等。仅支持一些协议。
•--rate <packets-per-second>:指定所需的传输速率
包。这可以是非常小的数字,例如0.1,用于在
每10秒1个速率,对于10000000这样的非常大的数字,
尝试以每秒1000万个数据包的速度进行传输。以我的经验,Windows
每秒可以处理25万个数据包,而最新版本的Linux可以
每秒可以处理250万个数据包需要PF_RING驱动程序达到25
百万个数据包/秒。
•-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驱动程序。如果出现以下情况,程序将退出
PF_RING DNA漂移器不可用。
•--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,--re
sume-index和--resume-count对于此功能很有用。
•--interactive:在控制台上实时显示结果。没有效果
如果与--output-format或--output-filename一起使用。
•--output-format <fmt>:指示输出文件的格式,可以是
xml,二进制,grepable,列表或JSON。选项--output-filename必须
指定。
•--output-filename <filename>:将结果保存到的文件。如果pa
rameter --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-format
list和--output-filename参数。
•--readscan <binary-files>:从-oB选项中读取-oB选项创建的文件
扫描,然后根据其他格式以其他格式之一输出它们
需求线参数。换句话说,它可以采用
输出并将其转换为XML或JSON格式。
0x03 配置文件格式
配置文件使用与命令行上相同的参数名称,但是不带-前缀,并且名称和值之间带有=号。前任足够的配置文件可能是:
# targets
range = 10.0.0.0/8,192.168.0.0/16
range = 172.16.0.0/14
ports = 20-25,80,U:53
ping = true
# adapter
adapter = eth0
adapter-ip = 192.168.0.1
router-mac = 66-55-44-33-22-11
# other
exclude-file = /etc/masscan/exludes.txt
默认情况下,程序将从文件/ etc / mass中读取默认配置
可以/masscan.conf。这对于系统特定的设置很有用,例如
--adapter-xxx选项。这对于排除的IP地址也很有用,这样您就可以
可以跳过整个危险的地址(例如那些危险的地址),扫描整个Internet
归国防部所有,不要犯任何意外错误。
CONTROL-C行为
当用户按下ctrl-c时,扫描将停止,并且当前的状态
扫描将保存在文件“ paused.conf”中。可以使用
--resume选项:
# masscan --resume paused.conf
该程序不会立即退出,但会等待默认的10秒
从Internet接收结果并保存结果,然后完全退出。
可以使用--wait选项更改此时间。
简单的例子
以下示例扫描所有专用网络以查找Web服务器,并打印所有
打开找到的端口。
# masscan 10.0.0.0/8 192.168.0.0/16 172.16.0.0/12 -p80 --open-only
下面的示例扫描整个Internet的DNS服务器,获取它们的
版本,然后将结果保存在XML文件中。
# masscan 0.0.0.0/0 --excludefile no-dod.txt -pU:53 --banners --output-filename dns.xml
您应该能够将XML导入数据库等。
以下示例读取名为bin-test.scan的二进制扫描结果文件并
将结果打印到控制台。
#masscan --readscan bin-test.scan
以下示例读取名为bin-test.scan的二进制扫描结果文件
创建一个名为bin-test.xml的XML输出文件。
#masscan --readscan bin-test.scan -oX bin-test.xml
高级示例
假设您要扫描整个Internet并在整个扫描范围内进行扫描
三台机器。 Masscan将使用以下命令在所有三台机器上启动
命令行:
# masscan 0.0.0.0/0 -p0-65535 --shard 1/3
# masscan 0.0.0.0/0 -p0-65535 --shard 2/3
# masscan 0.0.0.0/0 -p0-65535 --shard 3/3
另一种方法是使用“恢复”功能。扫描具有一个内部索引
从零到端口数乘以IP地址数。跟随
较低的示例显示了将扫描分为1000个项目的块:
# masscan 0.0.0.0/0 -p0-65535 --resume-index 0 --resume-count 1000
# masscan 0.0.0.0/0 -p0-65535 --resume-index 1000 --resume-count 1000
# masscan 0.0.0.0/0 -p0-65535 --resume-index 2000 --resume-count 1000
# masscan 0.0.0.0/0 -p0-65535 --resume-index 3000 --resume-count 1000
脚本可以使用它来在其他许多机器上拆分较小的任务,例如
亚马逊EC2实例。随着每个实例完成一项工作,脚本可能会发送一个
请求中央协调服务器进行更多工作。
意外重置
使用适配器的默认IP地址(内置)扫描TCP时
堆栈将生成RST数据包。这样可以防止横幅被抓住。有
有两种解决方法。第一种方法是创建防火墙规则以阻止
从堆栈看到的端口。工作方式取决于操作
系统,但在Linux上看起来像这样:
#iptables -A INPUT -p tcp -i eth0 –dport 61234 -j DROP
然后,在扫描时,必须使用相同的端口作为源:
# masscan 10.0.0.0/8 -p80 --banners --adapter-port 61234
另一种方法是“欺骗”另一个IP地址。该IP地址必须为
在本地网络范围内,但任何一个都不得使用
您自己的计算机或网络上的另一台计算机。一个例子
看起来像:
# masscan 10.0.0.0/8 -p80 --banners --adapter-ip 192.168.1.101
设置您的源IP地址是这种方式的首选方式
扫描器。
masscan的发包速度非常快,在windows中,它的发包速度可以达到每秒30万包;在Linux中,速度可以达到每秒160万。masscan在扫描时会随机选择目标IP,所以不会对远程的主机造成压力。默认情况下,masscan的发包速度为每秒100包,为了提高速度,可以设置为 --rate 100000。
详细参数
与nmap兼容的参数不再赘述,接下来讲解一下masscan独有的使用方法。
IP地址范围,有三种有效格式,1、单独的IPv4地址 2、类似"10.0.0.1-10.0.0.233"的范围地址 3、CIDR地址 类似于"0.0.0.0/0",多个目标可以用都好隔开
-p <ports,--ports <ports>> 指定端口进行扫描
--banners 获取banner信息,支持少量的协议
--rate <packets-per-second> 指定发包的速率
-c <filename>, --conf <filename> 读取配置文件进行扫描
--echo 将当前的配置重定向到一个配置文件中
-e <ifname> , --adapter <ifname> 指定用来发包的网卡接口名称
--adapter-ip <ip-address> 指定发包的IP地址
--adapter-port <port> 指定发包的源端口
--adapter-mac <mac-address> 指定发包的源MAC地址
--router-mac <mac address> 指定网关的MAC地址
--exclude <ip/range> IP地址范围黑名单,防止masscan扫描
--excludefile <filename>