渗透技巧 ----- 使用C#读取office内容

admin 2021年8月8日02:51:35评论144 views字数 1320阅读4分24秒阅读模式


前言


        昨天封面图太阴间了,吓到各位好哥哥了,错了错了,下次不敢了,特献上福利图一张。


渗透技巧 ----- 使用C#读取office内容


在某些渗透测试过程中,我们需要在目标机器上获取重要内容,比如Office的Word、Excel文件,大多数我们都是直接下载到本地进行查看,且这类行为不是高危行为一般不会拦截,但这个操作我们也可以使用C#实现,然后使用如CobaltStrike之类的C2进行C#加载读取文件。


读取Word


首先,我们要知道的是word文件的本质还是一个zip压缩文件,比如之前说过的word模板文件钓鱼,也是通过解压缩之后编辑xml文件来实现远程模板加载,其文件结构如下:


渗透技巧 ----- 使用C#读取office内容


而文件内容则保存在worddocument.xml中


渗透技巧 ----- 使用C#读取office内容


到C#中,其实也很简单,首先使用zip打开文件


ZipFile.OpenRead(docPath)


然后获取文件内的xml文件


archive.GetEntry(@"word/document.xml")


然后就是读取xml文件了


                        using (var stream = xmlFile.Open())                        {                            using (var reader = new StreamReader(stream))                            {                                XmlDocument xmldoc = new XmlDocument();                                xmldoc.Load(stream);                                XmlNodeList plaintext = xmldoc.GetElementsByTagName("w:t");                                DateTime date = DateTime.Now;                                Console.WriteLine("n" + date + ": " + "Reading Document: " + docPath + "nn");                                for (int i=0; i < plaintext.Count; i++)                                {                                    Console.WriteLine(plaintext[i].InnerText);                                }                                System.Environment.Exit(0);                            }                        }


最终效果:


渗透技巧 ----- 使用C#读取office内容


读取Excel


因为excel的特殊性,我们在读取时一般依赖现成的库文件,即Microsoft Excel XX.X Object Library,微软地址如下:

http://msdn.microsoft.com/en-us/library/dd264733.aspx


渗透技巧 ----- 使用C#读取office内容


有了现成的库就好办了,首先调用库


using Excel = Microsoft.Office.Interop.Excel;


然后创建com的引用


Excel.Application xlApp = new Excel.Application();Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"sandbox_test.xlsx");Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];Excel.Range xlRange = xlWorksheet.UsedRange;


最后for循环遍历打印,最后效果如下


渗透技巧 ----- 使用C#读取office内容



参考文章:https://github.com/OG-Sadpanda/SharpSword


     ▼
更多精彩推荐,请关注我们

渗透技巧 ----- 使用C#读取office内容



本文始发于微信公众号(鸿鹄实验室):渗透技巧 ----- 使用C#读取office内容

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年8月8日02:51:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透技巧 ----- 使用C#读取office内容http://cn-sec.com/archives/425150.html

发表评论

匿名网友 填写信息