运行程序,发现程序持续运行中。。。一直黑屏在跑。在IDA中可以看到是有Sleep函数
问题1:如何实现持久化驻留
程序运行过程中,会开启一个名为MalService的服务
运行net start查看机器当前开启的服务,惊人发现~服务没有开起来,可能是哪个地方姿势不对吧
问题2:程序的互斥量
找到mutex
Name是个常量字符串:HGL345
说明该程序只能运行一个实例
同时打开多个,在几秒钟之内,除了第一个的以外的实例都会自动停止运行
下图是在Process Explorer中找到的mutex信息
也可以用windbg来看,查找所有的句柄handle,然后找到mutex
问题3:程序基于主机的特征
在strings中找特殊字符串也没有找到很明显的。根据问题1和2
基于主机的特征只能从服务和互斥量的两个字符串定位
一个是服务的MalService,另一个互斥量的HGL345
问题4:程序基于网络的特征
问题5:程序目的
程序的几个功能:
A:开启MalService服务
B:使用HGL345互斥量,保证程序只运行一个实例
C:反复尝试连接URL
问题6:程序完成执行的时间
根据Sleep(0xFFFFFFFF)去换算即可
PLUS:
从书后参考答案学习
Q5:程序等待的时间是2100年1月1日
会发送很多请求到一个固定的URL,可能是一次DDOS攻击
Q6:程序永远不会完成,因为每一个线程运行的都是无限循环
OpenSCManager:打开一个服务控制管理器的句柄,以便这个程序可以添加或修改服务。