美文网首页Cobalt Strike 学习笔记【完结】
【CS学习笔记】21、反向转发通道的建立

【CS学习笔记】21、反向转发通道的建立

作者: TeamsSix | 来源:发表于2020-09-12 14:54 被阅读0次

    0x00 前言

    这一节将介绍使用 ProxyChains 进行代理转发与使用反向转发的方法。

    0x01 使用 ProxyChains 进行代理转发

    介绍

    使用 ProxyChains 可以使我们为没有代理配置功能的软件强制使用代理

    1. 上一节中介绍的一致,开启一个 socks 代理服务
    2. 配置 /etc/proxychains.conf 文件
    3. 运行 proxychains + 待执行命令

    演示

    接下来继续上一节中的演示环境:

    攻击机 IP:192.168.175.200

    上线主机:外部IP 192.168.175.130、内部IP 192.168.232.133

    攻击目标:192.168.232.0/24 地址段

    1、设置 socks 代理

    首先开启交互模式,之后开启 socks 代理

    sleep 0
    socks 9527
    
    beacon> sleep 0
    [*] Tasked beacon to become interactive
    [+] host called home, sent: 16 bytes
    beacon> socks 9527
    [+] host called home, sent: 16 bytes
    [+] started SOCKS4a server on: 9527
    

    2、配置 ProxyChains

    在攻击机上,配置 /etc/proxychains.conf 文件的最后一行,根据当前攻击主机 IP 与设置的 Socks 端口,修改如下:

    socks4 192.168.175.200 9527
    

    3、开始使用 ProxyChains

    根据上一节使用 Metasploit 的扫描可以知道,在 192.168.232.0/24 地址段中存在主机 192.168.232.132 ,接下来使用 nmap 扫描一下常见的端口,这里以 80,443,445,3389 作为演示。

    proxychains nmap -sT -Pn 192.168.232.132 -p 80,443,445,3389
    

    -sT:使用 TCP 扫描

    -Pn:不使用 Ping

    -p:指定扫描端口

    注:不加上 -sT -Pn 参数,将无法使用 proxychains 进行代理扫描

    > proxychains nmap -sT -Pn 192.168.232.132 -p 80,443,445,3389                       
    [proxychains] config file found: /etc/proxychains.conf
    [proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
    [proxychains] DLL init: proxychains-ng 4.14
    Starting Nmap 7.80 ( https://nmap.org ) at 2020-09-07 23:05 EDT
    [proxychains] Strict chain  ...  192.168.175.200:9527  ...  192.168.232.132:80  ...  OK
    [proxychains] Strict chain  ...  192.168.175.200:9527  ...  192.168.232.132:445  ...  OK
    [proxychains] Strict chain  ...  192.168.175.200:9527  ...  192.168.232.132:3389  ...  OK
    [proxychains] Strict chain  ...  192.168.175.200:9527  ...  192.168.232.132:443 <--denied
    Nmap scan report for 192.168.232.132
    Host is up (0.19s latency).
    
    PORT     STATE  SERVICE
    80/tcp   open   http
    443/tcp  closed https
    445/tcp  open   microsoft-ds
    3389/tcp open   ms-wbt-server
    
    Nmap done: 1 IP address (1 host up) scanned in 14.35 seconds
    

    通过扫描可以看到目标 80 端口是开放的,接下来使用 curl 作为对比示例。

    curl 192.168.232.132
    proxychains curl 192.168.232.132
    
    > curl 192.168.232.132
    curl: (7) Failed to connect to 192.168.232.132 port 80: No route to host
    
    > proxychains curl 192.168.232.132
    [proxychains] config file found: /etc/proxychains.conf
    [proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
    [proxychains] DLL init: proxychains-ng 4.14
    [proxychains] Strict chain  ...  192.168.175.200:9527  ...  192.168.232.132:80  ...  OK
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    ……内容太多,此处省略……                 
    

    0x02 反向转发

    反向转发顾名思义就是和上一节中提到的转发路径相反,之前我们设置的代理是 CS服务端 --> 上线主机 --> 内网主机,反向转发则是 内网主机 --> 上线主机 --> CS服务端

    image

    继续使用上面的演示环境,首先右击上线主机会话,选择 Pivoting --> Listener ,除了 Name 选项之外,CS 都会自动配置好,这里直接使用默认的配置信息。

    image

    之后生成一个 Windows 可执行文件,选择上一步生成的监听器,如果目标是 64 位则勾选使用 x64 Payload 的选项。

    image

    之后将该可执行文件在目标主机上执行即可,在现实环境中可以尝试使用钓鱼邮件的方式诱导目标执行。

    当目标执行该文件后,就会发现当前不出网的 192.168.232.132 主机已经上线了。

    image

    有一说一,关于这部分网上大部分教程还是 CS 3.x 版本的教程,而在 4.0 的操作中个人感觉要方便很多。

    网上关于这部分内容的 CS 4.0 的教程真的是少之又少,一开始在参考 3.x 教程的时候踩了很多坑,最后终于某内部知识库发现了一篇关于这部分内容的 4.0 教程,在该教程的参考下才发现居然如此简单。

    原文链接:https://www.teamssix.com/year/200419-150651.html
    参考链接:https://www.bilibili.com/video/BV16b411i7n5

    相关文章

      网友评论

        本文标题:【CS学习笔记】21、反向转发通道的建立

        本文链接:https://www.haomeiwen.com/subject/txywektx.html