Lazarus 使用泄露的黑客团队工具(3)
时间:2022-12-28 19:35 来源:网络整理 作者:采集插件 点击:次
WinMain_hucd4c530ab67e04e9501d4f959d8449ee_193734_1320x0_resize_box_3.png (143.62 KB, 下载次数: 0) 下载附件 2022-12-20 14:36 上传 检查二进制文件中的其余字符串,我们注意到有大量类似的混淆字符串。就像我们上面看到的一样,它们都是由 sub_4018A0 引用的。在快速调试过程中,可以看到 sub_4018A0 奇迹般地返回了一个正常的 WinAPI 函数调用!有趣的是,这些行之间有很多相似之处,这意味着它可能发生了一些简单的反混淆。 MpdbmBmmpd HfuMbtuFssps Qspdftt43Ofyu Npevmf43Ofyu Npevmf43Gjstu Qspdftt43Gjstu DsfbufUppmifmq43Tobqtipu HfuQspdBeesftt GjoeGjstuGjmfB HfuFowjsponfouWbsjbcmfB HfuGjmfJogpsnbujpoCzIboemf MpbeMjcsbszB Qspdftt43OfyuX Qspdftt43GjstuX GsffMjcsbsz HfuDvssfouQspdftt 复制代码为了好玩,我将一些字符串扔进谷歌并遇到了这个 ...... https://github.com/hackedteam/co ... /obfuscated_calls.h 和混淆函数调用的所有映射。像一个好的 APT 一样利用 Hacking Team 植入程序。
obfuscated_calls_hu4860640ac168678192c0ecc9083b572f_289199_1320x0_resize_box_3.png (220.4 KB, 下载次数: 0) 下载附件 2022-12-20 14:41 上传 这是一个很棒的发现,因为 repo 包含我们要逆向的二进制文件的源代码!就函数混淆而言,它最终只是将所有字符移动 -1。假设我们正在逆向的二进制文件只是这个 repo 中的 RCS (远程控制系统) 是一个合理的假设,但存在一些不一致之处。 为了让这个过程更容易一些,我写了一个快速的反混淆脚本来修复 IDA 中的函数调用。 import idc import idautils import idaapi
def deobfuscate(obfuscated) -> str: return "".join([chr(ord(i)-1) for i in str(obfuscated)])
def iterate_strings(start_addr, end_addr): for i in idautils.Strings(): # Check if the string is within the specified range if i.ea >= start_addr and i.ea + i.length <= end_addr: # Get the string content print(f"String at {hex(i.ea)}: {deobfuscate(i)}") idaapi.patch_bytes(i.ea, bytes(deobfuscate(i), 'utf-8'))
def main(): start_addr = 0x00411A68 # Start address of obfuscation strings end_addr = 0x0041322E # End address of obfuscation strings
iterate_strings(start_addr, end_addr)
main() 复制代码就相似性而言,WinMain 中传递给新线程的函数 sub_401260 与 HM_ClipBoard.h 中的 PollClipBoard 相似。考虑到反编译中的一些结构怪异,这两个具有非常相似的结构。使用 GetsClipboardData 的大循环,然后将其分批发送。
clipboard_function_hud3cdb96c97d3f3e9fcf935cd44db9847_190264_1320x0_resize_box_3.png (141.62 KB, 下载次数: 0) 下载附件 2022-12-20 14:46 上传 (责任编辑:admin) |
- 上一篇:偏执团宠,重生小撩精燃炸天
- 下一篇:第1353章 蛮不讲理 黑客萌宝很坑爹