红队专题-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.comhttps://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及TargetUnicodeInternet快捷方式
一种用于连接到互联网上的资源或网站的快捷方式,它同样支持任意图标修改、文件名和后缀名完全自定义。
与普通快捷方式相比,Internet快捷方式文件后缀名为.URL,并且支持与网页相关的属性设置。还可以将url设置成file路径去执行文件,例如:URL=file:\\\\\\C:\\Users\\xxx.exe欺骗伪造
除了url属性外,Internet快捷方式还支持很多其他的属性,攻击者可以通过IconFile、IconIndex来控制文件图标的显示,有个好消息是,由于微软取消了Internet快捷方式的远程ico引用,目前只能显示当前电脑中已存在的图标,不过即使如此攻击者仍然可以构建欺骗性很强的钓鱼文件。很多APT组织的主力攻击手段(例如:海莲花、响尾蛇等)。
Tools
burpsuite
burpsuite https://github.com/gh0stkey/HaEBurp Collaboratordnslog平台通过dns/http外带方式得到当前用户权限确定站库分离/是否出网外带出来的进程中发现有无DefenderBurp Collaborator会将返回的Base64自动转为小写,而Base64又是区分大小写的,所以咱这里不能正常解码,换个dnslog平台就好了echo "xxxx" | base64 -dBurpsuite抓包测试时可以用%20或+号来替代空格,如果直接用空格可能执行失败,浏览器会自动转URL编码,但Burpsuite不会log2jfastjsonshirosniff BurpSuite2022.3.2 jpy jython.jarCO2
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 IntegrationG:\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.comFUZZ将会被替换为字典里的内容字典 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/releasescf configcf alibaba perm
./cf alibaba permcf alibaba ecs lscf alibaba ecs exec -bhttps://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来查询全部命令
```cppdnsenum 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_MESSAGEMessage appearing while Blind HQLi--tables Tries to gather as much tables as possible (WithBruteforce)--T=TABLE Name of the table you want to get--table_name_file=FILE_TABLEDB file for name of tables--columns Tries to gather as much columns as possible (WithBruteforce)--C=COLUMN Name of the column you want to get--column_name_file=FILE_COLUMNDB 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 常用参数```pythonmasscan <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。可以指定端口范围,例如-p20-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,--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格式。
0x03 配置文件格式
配置文件使用与命令行上相同的参数名称,但是不带-前缀,并且名称和值之间带有=号。前任足够的配置文件可能是: # targetsrange = 10.0.0.0/8,192.168.0.0/16range = 172.16.0.0/14ports = 20-25,80,U:53ping = true# adapteradapter = eth0adapter-ip = 192.168.0.1router-mac = 66-55-44-33-22-11# otherexclude-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>