前言
穿插virus分析的学习,毕竟逆向技术最后要用在攻防中。
Lab1就没必要动态分析了,静态学学写法。
Lab01-01.exe
前面是内存映射技术,对内存进行修改操作。
将Kernel32.dll和Lab01-01.dll的内存都Map出来,便于后续更改:

先来看看Lab01-01.dll
实现了一个有sleep,exec命令的远控木马:

回到exe,先是将自身进程exe加载的kernel32.dll替换为Lab01-01.dll的内容,
然后将导入表这些的Kernel32.dll名字替换为相近的Kerne132.dll(L和1的区别)

最后对C盘下的exe进行遍历,将每个exe的导入表的Kernel32.dll都换成恶意dll,并同样的修改导入表之类的。



Lab01-02.exe
有个UPX壳:
脱壳后IDA看。
比较简单,这里创建了20个线程:

看StartAddress

函数名已经很直白了,连接了“恶意网站“。
实际操作可以改为UrlDownloadFile来下载木马。
Lab01-03.exe (❌)
FSG壳。

尝试网上找个脱壳工具,但好像都不大成功,。等后面来手脱FSG壳再来分析。
Lab01-04.exe
信息收集很关键,CFF看,注意到resource处有端倪:

藏了个PE文件。
导出这个BIN。先IDA看主函数,

winup.exe:

先看循环里面的sub_401000

枚举进程,找winlogon.exe
找到后就保存这个PID,
后面sub_401174进行了操作:

sfc_os.dll:

那个sub4010FC(xxx)就是昨天刚好学DLL卸载接触过的Token提权,

这是为了CreateRemoteThread的权限,
紧接着:
lpStartAddress = (LPTHREAD_START_ROUTINE)GetProcAddress(v2, (LPCSTR)2);
获取sfc_os.dll中的一个函数,然后CreateRemoteThread注入到winlogon.exe中。
然后就是
MoveFileA(ExistingFileName, NewFileName);
将\system32\wupdmgr.exe移动到\winup.exe
最后调用sub_4011FC

执行了释放的资源文件。
看看资源文件:

执行了winup.exe,然后将
恶意的update.exe下载覆盖了\system32\wupdmgrd.exe。
为什么要这么做?
我的理解:(可能有误)
核心目的是将\system32\wupdmgrd.exe覆盖为恶意update.exe,
但为了不影响正常功能(防止察觉),所以将\system32\wupdmgrd.exe先移动到winup.exe,
因为前面提到过winup.exe也能执行更新这些,所以将原本的\system32\wupdmgrd.exe作了个备份。
原有的update功能仍然在,只是多了恶意的update.exe。














![[Linux]:环境开发工具](https://img-blog.csdnimg.cn/img_convert/1c7f6f31a847900215140d9fc374daad.png)




