零基础学黑客,搜索公众号:白帽子左一
作者:掌控安全—杰斯
提权,提高自己在服务器中的权限,主要针对网站渗透过程中,当渗透某一网站时,通过各种漏洞提升WEBSHELL权限以夺得该服务器权限,通常提权是把普通用户的权限提升到管理员权限或者系统权限
在渗透测试过程中,拿到一个webshell之后,一般来说,我们的权限都是目标服务器中间件的权限。
这个时候就需要利用各种漏洞来提升自己的权限,从而能够获得对目标服务器的控制。
简介
补丁一般都是为了应对计算机中存在的漏洞,为了更好的优化计算机的性能,而去使用一种安全措施。
当拿到目标应用的webshell之后,可以通过补丁查询的方法,来查看目标系统是否有未打补丁从而造成的某些安全隐患,从而可以被我们利用。
复现
第一步:执行命令 systeminfo ,将执行结果复制。

第二步:粘贴到补丁查询的网页上进行查询。

ps:http://bugs.hacking8.com/tiquan/ # 提权辅助页面
第三步:在查询的结果中,找到对应的影响系统以及补丁编号,寻找可利用工具,下载利用即可。


第四步:将工具放到目标服务器内执行即可

简介
Windows SMB 服务器特权提升漏洞(CVE漏洞编号:CVE-2016-3225)当攻击者转发适用于在同一计算机上运行的其他服务的身份验证请求时,Microsoft 服务器消息块 (SMB) 中存在特权提升漏洞,成功利用此漏洞的攻击者可以使用提升的特权执行任意代码。
若要利用此漏洞,攻击者首先必须登录系统。
然后,攻击者可以运行一个为利用此漏洞而经特殊设计的应用程序,从而控制受影响的系统。
影响版本

复现
使用烂土豆工具进行提权

简介
Microsoft Windows下的 win32k.sys是Windows子系统的内核部分,是一个内核模式设备驱动程序,它包含有窗口管理器、后者控制窗口显示和管理屏幕输出等。
如果Windows内核模式驱动程序不正确地处 理内存中的对象,则存在一个特权提升漏洞。
成功利用此漏洞的攻击者可以运行内核模式中的任意代码。
攻击者随后可安装程序;查看、更改或删除数据;或者创建拥有完全管理权限的新帐户。
影响版本
所有Windows x64,包括Windows 7 和 Windows Server 2008 R2 及以下版本。
复现
使用工具Win64在目标服务器内执行即可

简介
当Windows Background Intelligent Transfer Service(BITS)未能正确地处理符号链接时,存在权限提升漏洞。
成功利用此漏洞的攻击者可以覆盖导致提升状态的目标文件。要利用此漏洞,攻击者首先必须登录到系统。
然后,攻击者可以运行巧尽心思构建的应用程序,利用此漏洞并控制受影响的系统。
影响版本
Microsoft Windows 7 SP1,Windows 8.1,Windows RT 8.1,Windows 10,Windows
Server 2008 SP2,Windows Server 2008 R2 SP1,Windows Server 2012,Windows
Server 2012 R2,Windows Server 2016,Windows Server 2019,Windows
10版本1607,Windows 10版本1709,Windows 10版本1803,Windows 10版本1809,Windows
10版本1903,Windows 10版本1909,Windows Server版本1803,Windows
Server版本1903,Windows Server版本1909。
复现
需要登录目标服务器后,再运行工具BitsArbitraryFileMoveExploit

简介
通过劫持一个重要的系统函数,执行任意代码。
由于webshell提权,一般来说只要放到有网络行为的程序目录下就可以。
最好是有自升级功能的,例如杀毒软件,输入法等,输入法目录一般权限较低,比较好利用。
复现
第一步:用火绒剑分析进程执行时加载了哪些dll

第二步:用MSF生成dll文件,并且设置监听

第三步:用MSF生成的dll替换掉分析出来的dll文件

第四步:打开应用,接受到反弹

简介
在mysql 中可以使用自定义函数进行提权,udf(user defined function)用户自定义函数,对于自定义的函数,在mysql5.1版本以后就需要放在插件插件目录 /lib/plugin ,文件后缀是dll,c语言编写。(sys_eval())
利用条件:
1.MySQL数据库没有开启安全模式。
2.已知的数据库账号具有对MySQL数据库insert和delete的权限,最好是root最高权限。3. 有写入到数据库安装目录的权限。
复现
第一步:使用语句查询plugin插件目录

第二步:将编译好的函数文件放到目标的plugin插件目录里面,这里我采用16进制写进去。
select 0x7f454c···· into dumpfile ‘/www/server/mysql/lib/plugin/woaini.so’

第三步:生成函数
create function sys_eval returns string soname ‘woaini.so’;

第四步:利用mysql去使用自定义函数,来完成命令执行

第五步:结果是16进制的,所以可以解密出来。



我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我正在尝试设置一个puppet节点,但rubygems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由rubygems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
我想了解Ruby方法methods()是如何工作的。我尝试使用“ruby方法”在Google上搜索,但这不是我需要的。我也看过ruby-doc.org,但我没有找到这种方法。你能详细解释一下它是如何工作的或者给我一个链接吗?更新我用methods()方法做了实验,得到了这样的结果:'labrat'代码classFirstdeffirst_instance_mymethodenddefself.first_class_mymethodendendclassSecond使用类#returnsavailablemethodslistforclassandancestorsputsSeco
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer
设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案
我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby1.9+ 关于ruby-主要:Objectwhenrun
我有一个具有一些属性的模型:attr1、attr2和attr3。我需要在不执行回调和验证的情况下更新此属性。我找到了update_column方法,但我想同时更新三个属性。我需要这样的东西:update_columns({attr1:val1,attr2:val2,attr3:val3})代替update_column(attr1,val1)update_column(attr2,val2)update_column(attr3,val3) 最佳答案 您可以使用update_columns(attr1:val1,attr2:val2