这个挑战是为像我这种从来都没有完整的做过一次渗透的菜鸟准备的,所以线索基本都摆在明面上,只要清楚流程,一步一步来,最终都能完成的。话是这么说,自己做的过程中还是有很多地方卡住了……加了个油。

首先根据要求使用的工具和要回答的问题来看,流程应该是这个样子的,“御剑”扫后台→“Pangolin”SQL注入获取管理员密码,登陆后台→上传一句话木马→“中国菜刀”连接获取webshell→“Pr”提权,添加服务器用户→“3389.exe”开启3389端口→远程桌面连接服务器,获取Administrators用户的登录密码。

用“御剑”对网站后台目录进行扫描,可得网站后台地址:http://www.test.ichunqiu/admin/index.asp ,打开后可以看到标题是“魅力企业网站管理系统”,嗯……看起来像是个CMS,赶紧谷歌一下子,发现后台默认用户名及密码为admin,admin888,输进去试一试,我*直接进去了……不过本着“负责任”(负哪门子责任……)的态度,看看有没有SQL注入吧,好家伙,产品页,新闻页,凡是带“ID=”的都有……手工试了一下order by语句,试出了有26列,然后用union select语句,结果就出来了,如下图,usernameadminpassword的结果应该是经过md5加密了,解密得到admin888
当然,我们也可以用指定的工具“Pangolin”进行SQL注入,操作很简单,很快就爆出了用户名和密码,如下图

成功登录到后台后,就应该找写一句话木马的地方了。发现有备份数据库的功能,尝试备份,提示备份成功后去恢复备份功能下看,结果根本没有备份文件……难道这备份功能就是个摆设???好吧,那就找找有没有能够上传文件的地方,通过“御剑”扫出的地址中有包含“Upload”字符的,应该能够上传文件,在浏览器中打开后却发现,只能选择文件然而没有上传的按钮……好吧,再看看,有个“系统设置”功能,而且刚刚谷歌后也可以下载到该CMS的所有安装文件,可以找到“系统设置”的文件路径为Web目录下的inc/config.asp,尝试修改“系统设置”来插入一句话木马,然而多次把网站搞得打不开了……幸亏是模拟环境,重启一下就好了……应该是语句没有闭合好的问题,仔细观察config.asp文件,重新设置一下语句,最后成功插入,网站也能正常访问。插入的语句为"eval request("1")',如下图

接下来用“中国菜刀”连接,如下图

菜刀连接成功后,找到有写权限的目录,比如C:\RECYCLER\,上传文件“cmd.exe”,“pr.exe”,“3389.exe”,如下图所示。在“cmd.exe”上右键,打开虚拟终端

使用“Pr”工具提权,执行命令添加用户,如下图所示

给添加的用户赋予管理员权限,如下图所示

给添加的用户赋予远程登录权限,因为远程登录用户组的名称为Remote Desktop Users,中间有空格,直接用“Pr”执行会出错,因此可以先把要执行的语句net localgroup "Remote Desktop Users" test /add写到批处理文件中,直接执行批处理命令,如下图所示

开启3389端口,如下图所示

运行mstsc打开远程桌面,使用test,test作为用户名和密码登录到服务器,用菜刀把口令破解工具cain上传到服务器,在服务器上安装好并打开,切换到“Cracker”标签下,点击“LM & NTLM Hashers”,点击右边表格区域,在点击上面蓝色的加号,在出现的窗口中选中“Include Password History Hashes”,点击“NEXT”

这样便可获得系统中所有的用户名及其登录密码的HASH

现在针对Administrators用户的登录密码HASH进行暴力破解,发现花费时间太长了,最后找到一个在线破解的网站https://www.objectif-securite.ch/en/ophcrack.php ,一下就解出来了,cu9e2cgw

ichunqiu在线挑战--我很简单,请不要欺负我 writeup的更多相关文章

  1. ichunqiu在线挑战--网站综合渗透实验 writeup

    挑战链接:http://www.ichunqiu.com/tiaozhan/111 知识点:后台弱口令,md5破解,SQL Injection,写一句话木马,敏感信息泄露, 提权,登陆密码破解 这个挑 ...

  2. 【Nginx】如何格式化日志并推送到远程服务器?看完原来很简单!!

    写在前面 Nginx作为最常用的反向代理和负载均衡服务器,被广泛的应用在众多互联网项目的前置服务中,很多互联网项目直接将Nginx服务器作为整个项目的流量入口.这就使得我们可以通过对Nginx服务器日 ...

  3. Crumpet – 使用很简单的响应式前端开发框架

    Crumpet 是一个简单的响应式的基于 SASS/SCSS 的响应式前端框架,保持你的 HTML 代码简洁.内置尽量使用占位符选择器,以减少你的 HTML 标记的大小,没有凌乱的 HTML 代码.快 ...

  4. 其实Unix很简单

    很多编程的朋友都在网上问我这样的几个问题,Unix怎么学?Unix怎么这么难?如何才能学好?并且让我给他们一些学好Unix的经验.在绝大多数时候,我发现问这些问题的朋友都有两个特点: 1)对Unix有 ...

  5. HTTP真的很简单

    原文:HTTP Made Really Easy因为我本身网络基础就很差,所以看到这篇文章一方面是学习网络知识,另一方面为了锻炼我蹩脚的英语水平,文中如有错误,欢迎浏览指正! 前言 在看这篇文章的时候 ...

  6. 手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单

    手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单   手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩 ...

  7. 我的第一个WCF程序,很简单适合我等菜鸟

    1.首先我罗列一下网站搜索并经过自己理解的WCF的含义: 1)WCF:(WIndows Communication Foundation)是由微软是由微软发展的一组数据通信的应用开发接口,可以翻译为W ...

  8. js便签笔记(13)——jsonp其实很简单【ajax跨域请求】

    前两天被问到ajax跨域如何解决,还真被问住了,光知道有个什么jsonp,迷迷糊糊的没有说上来.抱着有问题必须解决的态度,我看了许多资料,原来如此... 为何一直知道jsonp,但一直迷迷糊糊的不明白 ...

  9. 轻松搞定Ajax(分享下自己封装ajax函数,其实Ajax使用很简单,难是难在你得到数据后来怎样去使用这些数据)

    hey,guys!今天我们一起讨论下ajax吧!此文只适合有一定ajax基础,但还是模糊状态的同志,当然高手也可以略过~~~ 一.概念 Ajax(Asynchronous Javascript + X ...

随机推荐

  1. python 学习第四十七天shelve模块

    shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式. 1,序列化 import shelve f=shelve.open('she ...

  2. CSS-子盒子撑开父盒子,让父盒子的高随内容自适应

    方法一: height:auto!important; height:200px; min-height:200px; ie6并不支持min-height.ie7,opera,火狐没有问题. 方法二: ...

  3. 20、前端知识点--html5和css3特性(一)

    [html5/css3]css中的flex弹性布局学习总结 https://blog.csdn.net/Umbrella_Um/article/details/99490209 用CSS/CSS3 实 ...

  4. C++内存的分区

    内存一共4个区 1.任何在函数内部声明的非static变量,其变量地址本身在栈区.栈是向低地址扩展的数据结构,即栈顶的地址和栈的最大容量是系统预先规定好的.2.任何全局变量或者静态局部变量,其变量地址 ...

  5. zabbix 4.2 安装教程

    1.我这里使用的是ali的yum源 #wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7 ...

  6. 在一个div上增加遮罩

    有一个需求是给一个视频增加遮罩 我研究了下 抽象出来就是给一个div增加遮罩 原理是:最外层的div使用relative定位     然后里面放两个子div  一个是不被遮的  另一个是遮罩(用abs ...

  7. 对webpack的初步研究5

    Loaders 加载器是应用于模块源代码的转换.它们允许您在处理import或“加载” 文件时预处理文件.因此,加载器有点像其他构建工具中的“任务”,并提供了处理前端构建步骤的强大方法.加载器可以将文 ...

  8. tensorboard可视化(先写一点点)

    在tensorboard上显示运行图: import tensorflow as tf a = tf.constant(10,name="a") b = tf.constant(9 ...

  9. simulate 中的一些操作

    1. neutralize: position based 的alpha int neutralize(int di, int ti) { ; ; ; ; ii < nsyms; ++ii) { ...

  10. MySql不区分大小写。

    解决方案: 1:给相关字段添加上让其区分大小写. alter table 表名 modify column 字段名 varchar(100) binary character set utf8